Listbox verilerini sayfada son satırın altına yazdırma

Katılım
2 Ocak 2022
Mesajlar
83
Excel Vers. ve Dili
2007Türkçe
Merhaba,
Listbox1 içerisinde 8 sütun var. Satır sayısı değişiyor. Yapmak istediğim Veri sayfasındaki son dolu satırın altına listelemek.
Veri sayfasındaki mevcut satırlar korunarak, yeni veriler altına getirilecek. Forumda bulduğum bu form hep sayfa başından itibaren
getiriyor. Kendimce düzelteyim dedim olmadı. Son çalışır hali aşağıda. Bu kodları nasıl istediğim hale getirebilirim?
Private Sub CommandButton1_Click()
For sat = 1 To ListBox1.ListCount - 1
For sut = 1 To 8
Sheets("Veri").Cells(sat + 1, sut) = ListBox1.List(sat, sut - 1)
Next: Next
End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Sheets("Veri").Cells(sat + 1, sut) = ListBox1.List(sat, sut - 1)

satırı yerine aşağıdaki satırları deneyin:

yeni = Sheets("Veri").Cells("A").end(3).row+1
Sheets("Veri").Cells(yeni, sut) = ListBox1.List(sat, sut - 1)
 
Katılım
2 Ocak 2022
Mesajlar
83
Excel Vers. ve Dili
2007Türkçe
Sheets("Veri").Cells(sat + 1, sut) = ListBox1.List(sat, sut - 1)

satırı yerine aşağıdaki satırları deneyin:

yeni = Sheets("Veri").Cells("A").end(3).row+1
Sheets("Veri").Cells(yeni, sut) = ListBox1.List(sat, sut - 1)
Merhaba Yusuf Bey,
yeni = Sheets("Veri").Cells("A").end(3).row+1
bu satıra hata veriyor. İlerlemiyor.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Pardon, benim dikkatsizliğim:(

yeni = Sheets("Veri").Cells(Rows.Count,"A").end(3).row+1

deneyin.
 
Katılım
2 Ocak 2022
Mesajlar
83
Excel Vers. ve Dili
2007Türkçe
yeni = Sheets("Veri").Cells(Rows.Count,"A").end(3).row+1
Tekrar Merhaba Yusuf Bey,
Kısmen oldu, ancak veri sayfasında A sütunu ile diğer sütunlar aynı hizada gelmiyor. Şöyleki, diyelim son dolu satır 108. Aktarma işleminde sonra
A sütununda ilk veri doğru olarak A109 a geliyor. B109, C109.........H109 boş. Diğer kalan 7 sütunun verisi A11- boş, B110, C110, D110,E110, E110,............H110 satırına yani bir satır altına geliyor. B109, C109.........H109 boş. Bölye bir sorun var?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Verdiğim kod A sütunundaki ilk boş hücreyi yeni veri satırı olarak kabul eder ve ona göre aktarım yapar. Yani bahsettiğiniz gibi bir hata olmaması gerekir. Örnek dosya paylaşır mısınız?
 
Katılım
2 Ocak 2022
Mesajlar
83
Excel Vers. ve Dili
2007Türkçe
Verdiğim kod A sütunundaki ilk boş hücreyi yeni veri satırı olarak kabul eder ve ona göre aktarım yapar. Yani bahsettiğiniz gibi bir hata olmaması gerekir. Örnek dosya paylaşır mısınız?
Yusuf bey dosya yükleyemedim. bu konu ile alakalı Listbox kodların tamamını gönderiyorum. Sorun aynı. İlk sütun verisi ilk boş A hücresine geliyor, diğer 7 sütunun verisi bir alt B satırdan itibaren geliyor. Bir kayma oluyor.
Private Sub CommandButton1_Click()

For sat = 1 To ListBox1.ListCount - 1
For sut = 1 To 8
yeni = Sheets("Veri").Cells(Rows.Count, "A").End(3).Row + 1
Sheets("Veri").Cells(yeni, sut) = ListBox1.List(sat, sut - 1)
Next: Next
End Sub


Private Sub UserForm_Initialize()
With ListBox1
'ListBox1.ColumnHeads = True
ListBox1.ColumnCount = 8
ListBox1.ColumnWidths = "2;2;2;2;70;60;240;30"

.AddItem
.List(0, 4) = "Barkod"
.List(0, 5) = "Ürün Kodu"
.List(0, 6) = "Ürün Adı"
.List(0, 7) = "Adet"
End With

End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Dosyayı imzamda belirttiğim gibi paylaşabilirsiniz.
 
Katılım
2 Ocak 2022
Mesajlar
83
Excel Vers. ve Dili
2007Türkçe
Yusuf bey dosya yükleyemedim. bu konu ile alakalı Listbox kodların tamamını gönderiyorum. Sorun aynı. İlk sütun verisi ilk boş A hücresine geliyor, diğer 7 sütunun verisi bir alt B satırdan itibaren geliyor. Bir kayma oluyor.
Private Sub CommandButton1_Click()

For sat = 1 To ListBox1.ListCount - 1
For sut = 1 To 8
yeni = Sheets("Veri").Cells(Rows.Count, "A").End(3).Row + 1
Sheets("Veri").Cells(yeni, sut) = ListBox1.List(sat, sut - 1)
Next: Next
End Sub


Private Sub UserForm_Initialize()
With ListBox1
'ListBox1.ColumnHeads = True
ListBox1.ColumnCount = 8
ListBox1.ColumnWidths = "2;2;2;2;70;60;240;30"

.AddItem
.List(0, 4) = "Barkod"
.List(0, 5) = "Ürün Kodu"
.List(0, 6) = "Ürün Adı"
.List(0, 7) = "Adet"
End With

End Sub
Yusuf Bey, kod ile değil sayfa ile alakalı sorunmuş. Yazdığınız kodda problem yok. Farklı bir uygulamada sorunsuz çalışıyor. İlgi, emek ve zaman ayırdığınız için çok teşekkür ederim.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Yeni satırını For satırlarının arasına alıp dener misiniz?
 
Katılım
2 Ocak 2022
Mesajlar
83
Excel Vers. ve Dili
2007Türkçe
Yeni satırını For satırlarının arasına alıp dener misiniz?
Merhaba Yusuf Bey,
For satırlarının arasında sorunsuz çalıştı. Eski hali ile de bir şekilde çalıştı. yeni satırındaki son dolu hücreyi bulduğu A sütununu C yaptığımda ilk 3 satır doğru yerde, diğer 4 satır bir alta kaydı. H (8 sütün kullanılıyor) sütununda aradığında sorun çözülmüştü. For satırları arasında A sütunu olarakta sorunsuz çalıştı. İlgi ve ayırdığınız zaman için tekrar çok teşekkür ederim.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Hatanın sebebi şuydu: İlk halinde ikinci for next döngüsü içinde ilk boş satırı belirliyorduk. Sonra da ilk olarak A sütunununa olmak izere verileri yazmaya başlıyorduk. Sonraki döngüde yani listboxın ikinci sütununu aktarırken tekrar ilk boş satırı buluyordu. Anca o anda bir önceki adımda A sütununa ilk veriyi yazmış olduğumuzdan artık doğal olarak sonraki ilk boş satırı buluyordu ve verileri bir alt satıra yazıyordu. H sütununa göre belirlediğinizde A ya da daha önceki sütunlar dolmamış olduğundan her seferinde doğru yeri bulup veri yazıyordu.

For satırlarının arasına alınca listboxın her satırı için bir kere yer belirlenip doğru yere aktarım yapmaya başladı.
 
Katılım
2 Ocak 2022
Mesajlar
83
Excel Vers. ve Dili
2007Türkçe
Hatanın sebebi şuydu: İlk halinde ikinci for next döngüsü içinde ilk boş satırı belirliyorduk. Sonra da ilk olarak A sütunununa olmak izere verileri yazmaya başlıyorduk. Sonraki döngüde yani listboxın ikinci sütununu aktarırken tekrar ilk boş satırı buluyordu. Anca o anda bir önceki adımda A sütununa ilk veriyi yazmış olduğumuzdan artık doğal olarak sonraki ilk boş satırı buluyordu ve verileri bir alt satıra yazıyordu. H sütununa göre belirlediğinizde A ya da daha önceki sütunlar dolmamış olduğundan her seferinde doğru yeri bulup veri yazıyordu.

For satırlarının arasına alınca listboxın her satırı için bir kere yer belirlenip doğru yere aktarım yapmaya başladı.
Tekrar teşekkür ederim Yusuf Bey. Belirttiğiniz son hali ile sorunsuz çalışıyor.
 
Üst