• DİKKAT

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

ListBox hatası

Katılım
8 Mart 2007
Mesajlar
582
Excel Vers. ve Dili
excel 2000 Türkçe
Arladaşlar ekli dosyamı siz değerli arkadaşların yardımıyla tamamlamaya çalışıyorum. ListBox'daki satıra çift tılladığım zaman verileri ComboBox ve TextBox'lara almiyor. Aşağıdaki hatayı veriyor.


Private Sub ListBox1_Click()

For a = 0 To 4
Controls("textbox" & a + 1) = ListBox1.Column(a)
Next
Range("A2:F" & [a65536].End(3).Row).Interior.ColorIndex = 0
sat = ListBox1.ListIndex + 2
Range("A" & sat & ":F" & sat).Interior.ColorIndex = 0
CommandButton3.Enabled = True
CommandButton4.Enabled = True
CommandButton2.Enabled = False

End Sub
 

Ekli dosyalar

Son düzenleme:
en küçük indeksli TextBox'ınız TextBox2.

dolayısı ile, döngüdeki ilk a'nın değeri 0 olduğundan a+1 ile TextBox1'i arıyor. bulamadığı için hata döndürüyor.

Kod:
Controls("textbox" & (a + 2)) = ListBox1.Column(a)
şeklinde düzeltin.

veya TextBox'ların isimlerini sırası ile 1 küçültün. TextBox2'yi TextBox1, TextBox3'ü TextBox2, vs vs...
 
Hocam Hata vermiyor. ListBox1'deki verileri ComboBox1 ve TextBox'lara almak istediğimiz zaman ComboBox1 den başlaması gerekirken TextBox2 den başlıtor. 5 sütunu alması gerekirken 3 sütunu alıyor. Müşteri adı ve soyadı ile banka bilgileri boş kalıyor.
 

Ekli dosyalar

Aşağıdaki hatayı veriyor.

Kod:
[COLOR="Red"]Controls("textbox" & a + 1) = ListBox1.Column(a)[/COLOR]

en küçük indeksli TextBox'ınız TextBox2.

dolayısı ile, döngüdeki ilk a'nın değeri 0 olduğundan a+1 ile TextBox1'i arıyor. bulamadığı için hata döndürüyor.

Kod:
[B][COLOR="Red"]Controls("textbox" & (a + 2)) = ListBox1.Column(a)[/COLOR][/B]
şeklinde düzeltin.

veya TextBox'ların isimlerini sırası ile 1 küçültün. TextBox2'yi TextBox1, TextBox3'ü TextBox2, vs vs...


Hocam Hata vermiyor.

evet. artık hata vermiyor. çünkü kodu benim önerdiğim şekilde düzeltmişssiniz.

:rolleyes::rolleyes::rolleyes:
 
ben hatanın düzeldiğini gördükten sonra devam etmemişim.

bu anlamda çözüm eksik kalmış.

devam edelim...
 
almaz... çünkü 1. mesajdaki For a = 0 To 4 satırını For a = 0 To 2 olarak değiştirmişsiniz.

ayrıca bu döngü ile sadece TextBox'lara veri yüklemek mümkün. comboya veri almaz.

Kod:
Private Sub ListBox1_Click()

    ComboBox1 = ListBox1.Column(0)
    For a = 1 To 4
        Controls("TextBox" & (a + 1)) = ListBox1.Column(a)
    Next
[B][COLOR="red"]EXIT SUB[/COLOR][/B]
    Range("A2:F" & [a65536].End(3).Row).Interior.ColorIndex = 0
    sat = ListBox1.ListIndex + 2
    Range("A" & sat & ":F" & sat).Interior.ColorIndex = 0
    CommandButton3.Enabled = True
    CommandButton4.Enabled = True
    CommandButton2.Enabled = False

End Sub


yukarıdaki EXIT SUB normalde kodda yer almayacak. fakat form kontrollerindeki değişimler o kadar farklı olayları tetikliyor ki hata döndürüyor. detaylı incelemek lazım.

ben sadece combo ve text'e veri yüklendiğini göstermek istedim.
 
Ekteki örnek dosyayı inceleyiniz. Kodlarınız da ufak düzenlemeler yaptım. Eksikleri olabilir. Tüm kontrolleri yapmadım.
 

Ekli dosyalar

Çok teşekkürler hocalarım ellerinize sağlık.
 
Geri
Üst