Çözüldü Listbox satırları excell e aktarma

veysikulte1

Altın Üye
Katılım
23 Ekim 2015
Mesajlar
83
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
19-04-2027
Merhabalar Listbox1 e eklenen detay listesi için ürün adı adet ve fiyat için excel de B19 dan başlıyor. her bir hücre için kod yapınca örneğin 20 satırlık kod yapınca artık 19 satır olunca hata veriyor illa 20 satır eklemek gerekiyor. ilk satır B19 a girip diğer satırları nasıl bi altına B20 ye otomatik ekletebiliriz. Listboxta kaç satır varsa o kadar eklesin. birde listbox1 toplamda 30 satır sınırı koymak istiyorum. Lütfen bu konuda yardımlarınızı bekliyorum şimdiden teşekkürler.





Kod:
Private Sub LB_FT_Hazırla_Click() 'Hazırla..........................
 
  If TB_Tarih_Gun = "" Then
    BilgiMesajı ("Tarih Boş Geçilemez...")
    Exit Sub
 End If
 
 If TB_Tarih_Ay = "" Then
    BilgiMesajı ("Tarih Boş Geçilemez...")
    Exit Sub
 End If
 
      
Dim firmaadi, adres, vergidairesi, verginumarasi, ililce, ay, gun, yil, urunadi1, miktar1, fiyat1 As Variant
 
 firmaadi = Me.LB_FT_FirmaAdı
 adres = Me.LB_FT_Adres
 vergidairesi = Me.LB_FT_VergiDairesi
 verginumarasi = Me.LB_FT_VergiNumarası
 ililce = Me.LB_FT_İlilçe
 
 ay = Me.TB_Tarih_Ay
 gun = Me.TB_Tarih_Gun
 yil = Me.TB_Tarih_Yil
 
 urunadi1 = Me.Listbox1.List(0, 0)
 miktar1 = Me.Listbox1.List(0, 1)
 fiyat1 = Me.Listbox1.List(0, 2)
 
  Worksheets("FaturaEkranı").Range("B10") = firmaadi
  Worksheets("FaturaEkranı").Range("B11") = adres
  Worksheets("FaturaEkranı").Range("B13") = ililce
  Worksheets("FaturaEkranı").Range("C15") = vergidairesi
  Worksheets("FaturaEkranı").Range("E15") = verginumarasi
 
  Worksheets("FaturaEkranı").Range("I13") = gun
  Worksheets("FaturaEkranı").Range("K13") = ay
  Worksheets("FaturaEkranı").Range("M13") = yil
 
 Worksheets("FaturaEkranı").Range("B19") = urunadi1 'bu şekilde sadece 1. satır ekleniyor
  Worksheets("FaturaEkranı").Range("F19") = miktar1
  Worksheets("FaturaEkranı").Range("H19") = fiyat1
 
 
 
    
  MsgBox "Yazdırılmaya Hazır"
End Sub
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,330
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Döngü kurarak alabilirsiniz. En alttaki 3 satırlık kod bloğu yerine şunu deneyiniz...
Kod:
For a = 0 To Me.ListBox1.ListCount - 1
    Worksheets("FaturaEkranı").Range("B" & a + 19) = Me.ListBox1.List(a, 0)
    Worksheets("FaturaEkranı").Range("F" & a + 19) = Me.ListBox1.List(a, 1)
    Worksheets("FaturaEkranı").Range("H" & a + 19) = Me.ListBox1.List(a, 2)
Next
 

veysikulte1

Altın Üye
Katılım
23 Ekim 2015
Mesajlar
83
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
19-04-2027
Merhaba,
Döngü kurarak alabilirsiniz. En alttaki 3 satırlık kod bloğu yerine şunu deneyiniz...
Kod:
For a = 0 To Me.ListBox1.ListCount - 1
    Worksheets("FaturaEkranı").Range("B" & a + 19) = Me.ListBox1.List(a, 0)
    Worksheets("FaturaEkranı").Range("F" & a + 19) = Me.ListBox1.List(a, 1)
    Worksheets("FaturaEkranı").Range("H" & a + 19) = Me.ListBox1.List(a, 2)
Next

çok teşekkür ederim hocam tam istediğim gibi oldu. Listbox a satır sınırını nasıl koyabiliriz örneğin 30 satır sınırı var satır eklendikçe kalan satır 29-28 diye yazsın 30 satır eklendiğinde artık eklenmesin
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,330
Excel Vers. ve Dili
2007 Türkçe
Listbox1.Listcount değeri listboxın satır sayısını size verecektir. Bu kodun döndürdüğü değeri kullanarak bir sorgu oluşturabilirsiniz. Örneğin
Kod:
If Listbox1.Listcount < 30 Then
     ..... Listboxa ekleme kodları
Else
     Msgbox "Sınır aşıldı."
End if
Yine kalan satır sayısını her nereye yazdıracaksanız da 30 - Listbox1.Listcount kodunu kullanabilirsiniz.
İyi çalışmalar...
 

veysikulte1

Altın Üye
Katılım
23 Ekim 2015
Mesajlar
83
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
19-04-2027
Listbox1.Listcount değeri listboxın satır sayısını size verecektir. Bu kodun döndürdüğü değeri kullanarak bir sorgu oluşturabilirsiniz. Örneğin
Kod:
If Listbox1.Listcount < 30 Then
     ..... Listboxa ekleme kodları
Else
     Msgbox "Sınır aşıldı."
End if
Yine kalan satır sayısını her nereye yazdıracaksanız da 30 - Listbox1.Listcount kodunu kullanabilirsiniz.
İyi çalışmalar...
Yaptım Hocam Çok Teşekkürler.
 
Son düzenleme:
Üst