• DİKKAT

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

listbox a combobox ile veri listeleme ve boş satır gösterme sorunu.

Katılım
12 Mart 2021
Mesajlar
26
Excel Vers. ve Dili
2016
Merhabalar üstadlarım... Yarım yamalak excel bilgim ve sağdan soldan izlediğim video birde sizin sayfanızdan edindiğim bilgilerle bir fatura takip programı yapmaya çalışıyorum. Başlıktanda anlayacağınız gibi sorunum comboboxdaki seçili olan firmanın sayfasına gidip alttaki kodlardaki gibi belirlediğim sayfadan çekecek. ve birde ne yaparsam yapayım boş satırlarıda listeliyor. :(


Private Sub UserForm_Initialize()


ListBox1.RowSource = "deneme!A1: K1" & Range("A65536").End(xlUp).Row
ListBox1.ColumnCount = 11
ListBox1.ColumnWidths = "45;45;65;45;45;45;45;45;45;45;45"
ListBox1.MultiSelect = fmMultiSelectMulti
ListBox1.ListStyle = fmListStyleOption


End Sub

burada deneme yazan yerdeki deneme yerine comboboxda ki seçili olan sayfadan veri getirmesi.
 
ListBox1.RowSource = "deneme!A1: K1" & Range("A65536").End(xlUp).Row
Bu satır zaten hatalı.Sanırım şunu yapmaya çalıştınız. K1 ifadesine dikkat
ListBox1.RowSource = "deneme!A1: K" & Range("A65536").End(xlUp).Row

Sorunuzun diğer kısmı için sanırım öncelikle comboboxa firma adlarını almalısını. Bu sebeple initialize olayında ComboBox1 içine sayfa isimlerini aldım
ComboBox1 den sayfa seçince ListBox1 içine ilgili sayfanın A sütunundaki son dolu hücreyi baz alacak şekilde A1:Kxx aralığını listeledik.

C++:
Private Sub UserForm_Initialize()
For i = 1 To Worksheets.Count
    ComboBox1.AddItem Worksheets(i).Name
Next i
End Sub
Private Sub ComboBox1_Change()
If ComboBox1.ListIndex = -1 Then Exit Sub
    Son = Worksheets(ComboBox1.Text).Range("A65536").End(xlUp).Row
    ListBox1.ColumnCount = 11
    ListBox1.ColumnWidths = "45;45;65;45;45;45;45;45;45;45;45"
    ListBox1.RowSource = ComboBox1.Text & "!A1:K" & Son
    ListBox1.MultiSelect = fmMultiSelectMulti
    ListBox1.ListStyle = fmListStyleOption
End Sub
 
ListBox1.RowSource = "deneme!A1: K1" & Range("A65536").End(xlUp).Row
Bu satır zaten hatalı.Sanırım şunu yapmaya çalıştınız. K1 ifadesine dikkat
ListBox1.RowSource = "deneme!A1: K" & Range("A65536").End(xlUp).Row

Sorunuzun diğer kısmı için sanırım öncelikle comboboxa firma adlarını almalısını. Bu sebeple initialize olayında ComboBox1 içine sayfa isimlerini aldım
ComboBox1 den sayfa seçince ListBox1 içine ilgili sayfanın A sütunundaki son dolu hücreyi baz alacak şekilde A1:Kxx aralığını listeledik.

C++:
Private Sub UserForm_Initialize()
For i = 1 To Worksheets.Count
    ComboBox1.AddItem Worksheets(i).Name
Next i
End Sub
Private Sub ComboBox1_Change()
If ComboBox1.ListIndex = -1 Then Exit Sub
    Son = Worksheets(ComboBox1.Text).Range("A65536").End(xlUp).Row
    ListBox1.ColumnCount = 11
    ListBox1.ColumnWidths = "45;45;65;45;45;45;45;45;45;45;45"
    ListBox1.RowSource = ComboBox1.Text & "!A1:K" & Son
    ListBox1.MultiSelect = fmMultiSelectMulti
    ListBox1.ListStyle = fmListStyleOption
End Sub
üstadım maalesef ben bir yerde hata yapıyor olmalıyım çalıştıramadım çalışmayı size gönderiyorum bilginize.
dosyayı ekleyip göndersem size bakabilirmisiniz ? bu arada dosya nasıl ekleniyor burada ?
 
ListBox1.RowSource = "deneme!A1: K1" & Range("A65536").End(xlUp).Row
Bu satır zaten hatalı.Sanırım şunu yapmaya çalıştınız. K1 ifadesine dikkat
ListBox1.RowSource = "deneme!A1: K" & Range("A65536").End(xlUp).Row

Sorunuzun diğer kısmı için sanırım öncelikle comboboxa firma adlarını almalısını. Bu sebeple initialize olayında ComboBox1 içine sayfa isimlerini aldım
ComboBox1 den sayfa seçince ListBox1 içine ilgili sayfanın A sütunundaki son dolu hücreyi baz alacak şekilde A1:Kxx aralığını listeledik.

C++:
Private Sub UserForm_Initialize()
For i = 1 To Worksheets.Count
    ComboBox1.AddItem Worksheets(i).Name
Next i
End Sub
Private Sub ComboBox1_Change()
If ComboBox1.ListIndex = -1 Then Exit Sub
    Son = Worksheets(ComboBox1.Text).Range("A65536").End(xlUp).Row
    ListBox1.ColumnCount = 11
    ListBox1.ColumnWidths = "45;45;65;45;45;45;45;45;45;45;45"
    ListBox1.RowSource = ComboBox1.Text & "!A1:K" & Son
    ListBox1.MultiSelect = fmMultiSelectMulti
    ListBox1.ListStyle = fmListStyleOption
End Sub
Tamam hocam çalıştırdım Eline sağlık on numara olmuş.
 
ListBox1.RowSource = "deneme!A1: K1" & Range("A65536").End(xlUp).Row
Bu satır zaten hatalı.Sanırım şunu yapmaya çalıştınız. K1 ifadesine dikkat
ListBox1.RowSource = "deneme!A1: K" & Range("A65536").End(xlUp).Row

Sorunuzun diğer kısmı için sanırım öncelikle comboboxa firma adlarını almalısını. Bu sebeple initialize olayında ComboBox1 içine sayfa isimlerini aldım
ComboBox1 den sayfa seçince ListBox1 içine ilgili sayfanın A sütunundaki son dolu hücreyi baz alacak şekilde A1:Kxx aralığını listeledik.

C++:
Private Sub UserForm_Initialize()
For i = 1 To Worksheets.Count
    ComboBox1.AddItem Worksheets(i).Name
Next i
End Sub
Private Sub ComboBox1_Change()
If ComboBox1.ListIndex = -1 Then Exit Sub
    Son = Worksheets(ComboBox1.Text).Range("A65536").End(xlUp).Row
    ListBox1.ColumnCount = 11
    ListBox1.ColumnWidths = "45;45;65;45;45;45;45;45;45;45;45"
    ListBox1.RowSource = ComboBox1.Text & "!A1:K" & Son
    ListBox1.MultiSelect = fmMultiSelectMulti
    ListBox1.ListStyle = fmListStyleOption
End Sub

Kusura bakma tekrardan rahatsız ediyorum bu kodda şu kısım debug hatası veriyor
ListBox1.RowSource = ComboBox1.Text & "!A11:K" & Son
ben satırları 11 e taşıdım 11 yapmama rağmen comboboxdan seçim yapınca hata alıyorum


If ComboBox1.ListIndex = -1 Then Exit Sub
Son = Worksheets(ComboBox1.Text).Range("A65536").End(xlUp).Row
ListBox1.ColumnCount = 11
ListBox1.ColumnWidths = "45;50;65;50;45;50;45;45;50;50;45"
ListBox1.RowSource = ComboBox1.Text & "!A11:K" & Son
ListBox1.MultiSelect = fmMultiSelectMulti
ListBox1.ListStyle = fmListStyleOption
 
Hata oluştuğunda Son değişkeni hangi değeri almış?
 
Private Sub ComboBox1_Change()

If ComboBox1.ListIndex = -1 Then Exit Sub
Son = Worksheets(ComboBox1.Text).Range("A65536").End(xlUp).Row
ListBox1.ColumnCount = 11
ListBox1.ColumnWidths = "45;50;65;50;45;50;45;45;50;50;45"
ListBox1.RowSource = ComboBox1.Text & "!A11:K" & Son
ListBox1.MultiSelect = fmMultiSelectMulti
ListBox1.ListStyle = fmListStyleOption


End Sub

bu şekilde dosyayı nasıl yükleyeceğimi tarif ederseniz dosyayı ekleyeyim buraya.
 
Geri
Üst