• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

B sütunundaki veri sayısına göre A sütununa formül kop

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,658
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selam arkadaşlar,

Bu konuyla ilgili aşağıdaki kodu denedim ama başarılı olamadım. Acaba nerde hata yapıyorum? Bu işlemdeki amacım B sütunundaki dolu satır sayısı kadar formülle sıra numarası verdirmek.

Sheets("SAYFA1").Select
Range("B65536").End(xlUp).Select
For i = TextBox5.Text To TextBox6.Text
Range("B2").Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(0) = TextBox1.Text
ActiveCell.Offset(0, 1) = TextBox2.Text
ActiveCell.Offset(0, 2) = TextBox3.Text
ActiveCell.Offset(0, 3) = i
ActiveCell.Offset(0, 4) = TextBox4.Text
ActiveCell.Offset(0, 5) = "EVET"

SAY = WorksheetFunction.CountA(Sheets("SAYFA1").[B2:B65536])
Range("A2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[1]<>"""",ROW()-1,"""")"
Range("A2").Select
Selection.Copy
Range("A2:A" & SAY).Select
ActiveSheet.Paste
Application.CutCopyMode = False

Next

Range("B2").Select
TextBox1 = Date
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox1.SetFocus
Call UserForm_Initialize
MsgBox ("Kayıt ekleme işlemi tamamlanmıştır."), vbInformation, "DİKKAT !"

End If
End If
End Sub

İyi çalışmalar dilerim. :hey:
 
merhaba
ben sıra numarası verdirirken count ifadesini kullanmanın pey uygu olmayacağını
düşünüyorum.
neden?
çünkü icap edip aradan bir kayıt silindiğinde silinen satırdan sonraki numaraları
tekrar oluşturmak gerekecek.
onun yerine,,

ActiveCell=val(ActiveCell.Offset(-1,0))+1
şu an kaydedilen satırın bir önceki satırınının bir fazlası
şeklinde bir ifade bence daha doğru olur.
böylece aradan silinen kayıtlar sorun oluşturmaz.
 
hatta bence şöyle değiştir..

Sheets("SAYFA1").Select
Range("A65536").End(xlUp).Select
For i = TextBox5.Text To TextBox6.Text

ActiveCell.Offset(1, 0).Select
ActiveCell=val(ActiveCell.offset(-1,0).text)+1

ActiveCell.Offset(0,1) = TextBox1.Text
ActiveCell.Offset(0, 2) = TextBox2.Text
ActiveCell.Offset(0, 3) = TextBox3.Text
ActiveCell.Offset(0, 4) = i
ActiveCell.Offset(0, 5) = TextBox4.Text
ActiveCell.Offset(0, 6) = "EVET"


Next

Range("B2").Select
TextBox1 = Date
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox1.SetFocus
Call UserForm_Initialize
MsgBox ("Kayıt ekleme işlemi tamamlanmıştır."), vbInformation, "DİKKAT !"

End If
End If
 
Geri
Üst