Soru Combobox'daki veriyi listbox'daki satır sayısınca yazdırma

Katılım
4 Temmuz 2018
Mesajlar
6
Excel Vers. ve Dili
Microsoft office excel 2007
Selamünaleykum herkese
aşadaki kod çalışmasında combobox'daki veriyi listbox satır sayısı kadar d sütununa yazdırmak istiyorum. Lakin stabil çalışmıyor. Ya eksik yazı ya da son boş satıra yazmadan ilk satırdan yazmaya başlıyor. Yardımcı olabilecek arkadaşlara şimdiden çok teşekkür ederim.


Kod:
Private Sub btnKaydet_Click()
Dim r, p As Long
For r = 0 To Me.lstTekrarlar.ListCount - 1
Sheets("TEKRARLAR").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = Me.lstTekrarlar.List(r, 0)
Sheets("TEKRARLAR").Range("A" & Rows.Count).End(xlUp).Offset(0, 1) = Me.lstTekrarlar.List(r, 1)
Sheets("TEKRARLAR").Range("A" & Rows.Count).End(xlUp).Offset(0, 2) = Me.lstTekrarlar.List(r, 2)
Next r
For p = 1 To Me.lstTekrarlar.ListCount

Sheets("TEKRARLAR").Range("D" & p).End(xlUp).Offset(1, 0) = ComboBox1.Value


Next p
 

MsgBox lstTekrarlar.ListCount & " tekrar excel'e aktarıldı"
Sheets("TEKRARLAR").Select

End Sub
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Ve Aleykumusselam,
Sheets("TEKRARLAR").Range("D" & p).End(xlUp).Offset(1, 0) = ComboBox1.Value
Bu satırda p değeri döngü ile belirleniyor ve 1 ile başlıyor, yani D1 hücresinden yukarı git demiş oluyorsunuz...???
Eğer yapmak istediğiniz D sütunundaki son dolu hücrenin altına yazdırmaksa bu kısmı Range("D" & Rows.Count) şeklinde değiştirip deneyiniz...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,330
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ek olarak döngü yerine verileri tek hamlede sayfaya aktarabilirsiniz. Böylece daha hızlı sonuç alabilirsiniz.

Kendinize uyarlarsınız.

C++:
Private Sub CommandButton1_Click()
    With Sheets("TEKRARLAR")
        .Cells(.Rows.Count, "D").End(3)(2, 1).Resize(ListBox1.ListCount) = ComboBox1.Value
    End With
End Sub
 
Katılım
4 Temmuz 2018
Mesajlar
6
Excel Vers. ve Dili
Microsoft office excel 2007
Ve Aleykumusselam,

Bu satırda p değeri döngü ile belirleniyor ve 1 ile başlıyor, yani D1 hücresinden yukarı git demiş oluyorsunuz...???
Eğer yapmak istediğiniz D sütunundaki son dolu hücrenin altına yazdırmaksa bu kısmı Range("D" & Rows.Count) şeklinde değiştirip deneyiniz...
Çok teşekkür ederim. Allah razı olsun.
 
Katılım
4 Temmuz 2018
Mesajlar
6
Excel Vers. ve Dili
Microsoft office excel 2007
Ek olarak döngü yerine verileri tek hamlede sayfaya aktarabilirsiniz. Böylece daha hızlı sonuç alabilirsiniz.

Kendinize uyarlarsınız.

C++:
Private Sub CommandButton1_Click()
    With Sheets("TEKRARLAR")
        .Cells(.Rows.Count, "D").End(3)(2, 1).Resize(ListBox1.ListCount) = ComboBox1.Value
    End With
End Sub
Çok teşekkür ederim. Allah razı olsun. Sizin verdiğiniz bu kod işime yaradı. Tekrar çok teşekkür ederim.
 
Üst