listbox

Katılım
21 Ocak 2013
Mesajlar
422
Excel Vers. ve Dili
2010
listbox'ımda boş yerleri göstermesini istemiyorum.listbox aşagı dogru boş uzayıp gidiyor. nasıl düzeltebilirim.
Kod:
Private Sub userform_initialize()
Dim x As Long
For x = 1 To 1000000
If Range("A" & x).Value <> " " Then
x = x + 1
Else
Exit For
End If
Next
Lstgelenevrak.ColumnCount = 8
Lstgelenevrak.RowSource = "GELENEVRAK!$A2:H$" & x
Lstgelenevrak.ColumnWidths = "50;;60;150;25;;;125"
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Kod:
Private Sub userform_initialize()
Lstgelenevrak.ColumnCount = 8
Lstgelenevrak.RowSource = "GELENEVRAK!$A2:H$" & worksheets("GELENEVRAK")cells(rows.count,"A").end(xlup).row
Lstgelenevrak.ColumnWidths = "50;;60;150;25;;;125"
End Sub
Eğer yine olmazsa dosyanızı dosya.tc gibi bir paylaşım sitesine ekleyerek paylaşın kontrol edelim.
 

Greenblacksea53

Altın Üye
Katılım
5 Ocak 2019
Mesajlar
572
Excel Vers. ve Dili
Ofis 365 Tr
Altın Üyelik Bitiş Tarihi
05-01-2025
Boş satırları göstermesin derken veri arasında boş satırlar varsa ;
Kod:
Private Sub userform_initialize()

Call BosSatirlariSil

Lstgelenevrak.ColumnCount = 8
Lstgelenevrak.RowSource = "GELENEVRAK!$A2:H$" & Worksheets("GELENEVRAK").Cells(Rows.Count, "A").End(xlUp).Row
Lstgelenevrak.ColumnWidths = "50;;60;150;25;;;125"
End Sub


Sub BosSatirlariSil()
Dim LastRow As Long, r As Long
LastRow = ActiveSheet.UsedRange.Rows.Count
LastRow = LastRow + ActiveSheet.UsedRange.Row - 1
Application.ScreenUpdating = False
For r = LastRow To 1 Step -1
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r
End Sub
kodlarını kullanabilirsin.
 
Katılım
21 Ocak 2013
Mesajlar
422
Excel Vers. ve Dili
2010
Merhaba.
Kod:
Private Sub userform_initialize()
Lstgelenevrak.ColumnCount = 8
Lstgelenevrak.RowSource = "GELENEVRAK!$A2:H$" & worksheets("GELENEVRAK")cells(rows.count,"A").end(xlup).row
Lstgelenevrak.ColumnWidths = "50;;60;150;25;;;125"
End Sub
Eğer yine olmazsa dosyanızı dosya.tc gibi bir paylaşım sitesine ekleyerek paylaşın kontrol edelim.
bu kod hata verdi.teşekkür ederim.
 
Katılım
21 Ocak 2013
Mesajlar
422
Excel Vers. ve Dili
2010
boş satırlar yok en son satırdan sonra listbox aşağı doğru inmeye devam ediyor inmesini engellemek istiyorum
 

Greenblacksea53

Altın Üye
Katılım
5 Ocak 2019
Mesajlar
572
Excel Vers. ve Dili
Ofis 365 Tr
Altın Üyelik Bitiş Tarihi
05-01-2025
boş satırlar yok en son satırdan sonra listbox aşağı doğru inmeye devam ediyor inmesini engellemek istiyorum
Kod:
Private Sub userform_initialize()
Lstgelenevrak.ColumnCount = 8
Lstgelenevrak.RowSource = "GELENEVRAK!$A2:H$" & worksheets("GELENEVRAK").cells(rows.count,"A").end(xlup).row
Lstgelenevrak.ColumnWidths = "50;;60;150;25;;;125"
End Sub
İşinizi görür bu Muzaffer hoca nokta koymayı unutmuş olabilir. ben tamamladım
 
Katılım
21 Ocak 2013
Mesajlar
422
Excel Vers. ve Dili
2010
Kod:
Private Sub userform_initialize()
Lstgelenevrak.ColumnCount = 8
Lstgelenevrak.RowSource = "GELENEVRAK!$A2:H$" & worksheets("GELENEVRAK").cells(rows.count,"A").end(xlup).row
Lstgelenevrak.ColumnWidths = "50;;60;150;25;;;125"
End Sub
İşinizi görür bu Muzaffer hoca nokta koymayı unutmuş olabilir. ben tamamladım
TEŞEKKÜR EDERİM..
 

Greenblacksea53

Altın Üye
Katılım
5 Ocak 2019
Mesajlar
572
Excel Vers. ve Dili
Ofis 365 Tr
Altın Üyelik Bitiş Tarihi
05-01-2025
Son satıra dolu satıra kadar veriyi alır. ( A sütünü ). B ve diğer sütunlara veri girseniz de A sütunu doluluğu kadar veri alır.
Diğer ihtimal Userform show modal false ise userform açık olsa bile excele veri girseniz verileri anlık çekmez çünkü Useform yüklediğinde çalışıyor kodlar. Siz excele yazıp hemen görmek istiyorsanız Worksheet_SelectionChange olayına yazmak lazım kodları . Şimdi sizin istediğiniz hangisi
 

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
Listboxa veri almanın daha iyi yöntemleri vardır muhtelemen. Sayın @Greenblacksea53'ün de belirttiği gibi verileri ne zaman görmek istediğinize ve çalışma sisteminize göre farklı çözümler de uygulanabilir. Ancak sorunun en başına dönersek siz sorgulamayı

If Range("A" & x).Value <> " " Then

satırında yapıyorsunuz. Burda iki tırnak işareti arasında boşluk bırakmışsınız. Kodlar da kontrolü hücrenin boş olup olmadığına göre değil hücrede sadece bir boşluk karakteri olup olmadığına bakıyor. Sizin alttaki hücreleriniz de boşluk karakteri içermeyip tamamen boş olduğundan listboxa o satırları da ekliyor doğal olarak.

Dediğim gibi farklı ve daha iyi yöntemler de bulunabilir ki arkadaşlar örneklerini vermişler zaten.
 
Katılım
21 Ocak 2013
Mesajlar
422
Excel Vers. ve Dili
2010
Son satıra dolu satıra kadar veriyi alır. ( A sütünü ). B ve diğer sütunlara veri girseniz de A sütunu doluluğu kadar veri alır.
Diğer ihtimal Userform show modal false ise userform açık olsa bile excele veri girseniz verileri anlık çekmez çünkü Useform yüklediğinde çalışıyor kodlar. Siz excele yazıp hemen görmek istiyorsanız Worksheet_SelectionChange olayına yazmak lazım kodları . Şimdi sizin istediğiniz hangisi
[/QUOTE
userform üzerinden çalışıyorum excel ekleme yapıyor ancak lisxtbox eklediğimi göstermiyor kapatıp acarsam gösterme yapıyor. kod konusunda cok bilgim yok teşekkür ederim.
 

Greenblacksea53

Altın Üye
Katılım
5 Ocak 2019
Mesajlar
572
Excel Vers. ve Dili
Ofis 365 Tr
Altın Üyelik Bitiş Tarihi
05-01-2025
Bence en güzeli excelden veri girmek değilde tamamen userform üzerinden çalışmak dosyanızı https://dosya.co/ bu siteye yükleyip link paylaşın yardımcı oluruz.
 

Greenblacksea53

Altın Üye
Katılım
5 Ocak 2019
Mesajlar
572
Excel Vers. ve Dili
Ofis 365 Tr
Altın Üyelik Bitiş Tarihi
05-01-2025
C++:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Set s1 = Sheets("GELENEVRAK")
Set s2 = ActiveSheet
son = s2.Cells(Rows.Count, "A").End(3).Row + 1
If Intersect(Target, Range("A2:H" & son)) Is Nothing Then Exit Sub

UserForm1.Lstgelenevrak.ColumnCount = 8
UserForm1.Lstgelenevrak.RowSource = "GELENEVRAK!$A2:H$" & Worksheets("GELENEVRAK").Cells(Rows.Count, "A").End(xlUp).Row
UserForm1.Lstgelenevrak.ColumnWidths = "50;;60;150;25;;;125"
UserForm1.Show
End Sub
Kodu "GELENEVRAK" sayfasının kod kısmına yapıştır.
A2:H" & son hücrelerinden birine çift tıklarsan userform açılacak anlık veri ile
 

Greenblacksea53

Altın Üye
Katılım
5 Ocak 2019
Mesajlar
572
Excel Vers. ve Dili
Ofis 365 Tr
Altın Üyelik Bitiş Tarihi
05-01-2025
O zaman kodları sub listele() diye yapı oluştur oraya at sonra kaydet tuşu mu var kaydet tuşunun click olayına en altına call listele diye yapını çağır
 
Üst