• DİKKAT

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

listbox

Katılım
21 Ocak 2013
Mesajlar
425
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
 
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.
 
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.
 
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.
 
boş satırlar yok en son satırdan sonra listbox aşağı doğru inmeye devam ediyor inmesini engellemek istiyorum
 
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
 
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..
 
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
 
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.
 
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.
 
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
 
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
 
Geri
Üst