• DİKKAT

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

Belli bir aralığa form aracılığı ile kayıt.

Hakan ERDOST

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
885
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
Bu kod ile B10:I28 aralığına kayıt yapıyorum. Ancak sürekli aynı satıra kayıt yapıyorum. Alta alta kayıt için neyi düzeltemem gerektiğini bilemedim.
Kod:
Private Sub CommandButton1_Click()
Sheets("Rapor").Select

Set D = Sheets("Rapor")

If ComboBox1 = "" Then MsgBox "Sınıf seçiniz!", vbCritical: Exit Sub
If ComboBox2 = "" Then MsgBox "Şube seçiniz!", vbCritical: Exit Sub
If TextBox1 = "" Then MsgBox "Öğrenci Mevcudunuzu giriniz!", vbCritical: Exit Sub

     Son_Dolu_Satir = Sheets("Rapor").Range("B10:B28").End(xlUp).Row
        Bos_Satir = Son_Dolu_Satir + 1
   
        Range("B" & Bos_Satir + 1).Value = TextBox1.Value
        Range("E" & Bos_Satir + 1).Value = ComboBox2.Value
        Range("F" & Bos_Satir + 1).Value = ComboBox3.Value
        Range("G" & Bos_Satir + 1).Value = TextBox4.Value
        Range("H" & Bos_Satir + 1).Value = TextBox2.Value
        Range("I" & Bos_Satir + 1).Value = TextBox3.Value
       
        Range("B4").Value = ComboBox4.Value & ComboBox5.Value
        Range("F4").Value = TextBox4.Value
        Range("H4").Value = ComboBox1.Value
   
       
       If OptionButton1.Value = True Then
        Range("C" & Bos_Satir + 1) = "Canlı"
            ElseIf OptionButton2.Value = True Then
        Range("D" & Bos_Satir + 1) = "Video"
            Else
        Range("C" & Bos_Satir + 1) = ""
End If

TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
ComboBox1 = ""
ComboBox2 = ""
ComboBox3 = ""
ComboBox4 = ""
ComboBox5 = ""
     End Sub
Kod:
 
Son düzenleme:
Şu satırı düzeltmeniz gerekiyor.

Son_Dolu_Satir = Sheets("Rapor").Range("B10:B28").End(xlUp).Row
 
Şu satırı düzeltmeniz gerekiyor.

Son_Dolu_Satir = Sheets("Rapor").Range("B10:B28").End(xlUp).Row
Teşekkürler üstad. Son dolu satır, boş satır bulma genelde sütun üzerinden yaptığım bir işlem. ancak bu kez veri aktarmak istedğim bir form ve bu formdaki veri aralığı B12:I28 aralığında , kodda aralığı bu şekilde de değiştirmeme rağmen yine aynı satıra kayıt yapıyorum. Velhasılı kelam 10. satırı buludum ancakak altına geçemedim:))
 
Genelde son satırı bulmak için aşağıdaki yapı kullanılır.

Son = Cells(Rows.Count, 1).End(3).Row

Bu kod aktif sayfada "A" sütunundaki son dolu satırı bulur. Bu değerin üzerine 1 eklenerek boş satır tespit edilir.

Son = Cells(Rows.Count, 1).End(3).Row + 1

Parantez içindeki Rows.Count ifadesi versiyon fark etmeksizin excelin en son satır sayısını ifade eder. (Şimdilk 65.536 ya da 1.048.576)

Sizin örneğinize göre boş satırı bulma kodu aşağıdaki gibi olmalıdır.

Son = Sheets("Rapor").Cells(28, 2).End(3).Row + 1

Eğer 28. satıra veri girişi yapacaksanız parantez içindeki 28 değerini 29 olarak değiştirip test ediniz.

Artık kendinize göre uyarlarsınız.
 
Genelde son satırı bulmak için aşağıdaki yapı kullanılır.

Son = Cells(Rows.Count, 1).End(3).Row

Bu kod aktif sayfada "A" sütunundaki son dolu satırı bulur. Bu değerin üzerine 1 eklenerek boş satır tespit edilir.

Son = Cells(Rows.Count, 1).End(3).Row + 1

Parantez içindeki Rows.Count ifadesi versiyon fark etmeksizin excelin en son satır sayısını ifade eder. (65.536 ya da 1.048.576)

Sizin örneğinize göre boş satırı bulma kodu aşağıdaki gibi olmalıdır.

Son = Sheets("Rapor").Cells(28, 2).End(3).Row + 1

Eğer 28. satıra veri girişi yapacaksanız parantez içindeki 28 değerini 29 olarak değiştirip test ediniz.

Artık kendinize göre uyarlarsınız.
Korhan bey, açıklama için ayrıca teşekkürler.
 
Son düzenleme:
Geri
Üst