• DİKKAT

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

Combobox ta Baska bır Sheet tekı verlerın Lıstelenmesı

Katılım
25 Kasım 2008
Mesajlar
91
Excel Vers. ve Dili
excell2002(10.2701.2625)
Türkçe
Merhaba Arkadaşlari,


Userformda olusturdugum gırıs ekranı ıcınde verı bolumundekı a sutununda bulunan verılerın comboboxta lıstenmesını ve bunu lıstelerkende ornegın ahmet ısmını ıstıyorum ah yazdıgımda ah la baslıyanların lıstelenmesını ve ben arasından secmek ıstıyorum.
Sheetlerın adını comboboxta lısteldım ama sheetler arasındakı bılgılerı bırtulu ıstedıgım gıbı lıstelıyemedım yardımcı olurmunuz ekte de bır ornek gonderdım sımdıden tesekkur ederım
 

Ekli dosyalar

Selamlar,

Aşağıdaki kodu denermisiniz. Siz ComboBox nesnesine yazmaya başladıkça zaten yazdığınız harfle ilgili kelimeler otomatik tamamlama ile tamamlanacaktır. Yada isimleri ComboBox nesnesine yüklerken alfabetik sırayla yüklerseniz istediğiniz sonuca ulaşabilirsiniz.

Kod:
Private Sub UserForm_Initialize()
    Dim X As Long, İSİM As New Collection, VERİ As Variant
 
    On Error Resume Next
 
    For X = 3 To Sheets("VERİ").Range("A65536").End(3).Row
    İSİM.Add Sheets("VERİ").Cells(X, 1), CStr(Sheets("VERİ").Cells(X, 1))
    Next
 
    On Error GoTo 0
 
    For Each VERİ In İSİM
    ComboBox1.AddItem VERİ
    Next
End Sub
 
Altarnatif olsun;

Kod:
Private Sub ComboBox1_Change()
For S = 0 To ComboBox1.ListCount - 1
ComboBox1.List(S, 0) = ""
Next
For i = 3 To Sheets("VERİ").Range("a65000").End(3).Row
A = Len(ComboBox1.Text)
B = Left(Sheets("VERİ").Cells(i, 1).Value, A)
If ComboBox1.Text = B Then
ComboBox1.AddItem
ComboBox1.List(C, 0) = Sheets("VERİ").Cells(i, 1).Value
C = C + 1
End If
Next
End Sub

Private Sub UserForm_Initialize()
For i = 3 To Sheets("VERİ").Range("a65000").End(3).Row
ComboBox1.AddItem
ComboBox1.List(i - 3, 0) = Sheets("VERİ").Cells(i, 1).Value
Next
End Sub

combobox matchentry ayarı 2 olmalı
 
Tesekkur ederım

İlginiz için teşekkur ederım ek olarak bır sorum daha olucak
sheetlerın adlarını lısteleme macorasu

For X = 3 To Sheets.Count
ComboBox2.AddItem Sheets(X).Name
Next
End Sub

bu sekılde.

Dıyelım 20 sheetın ıcınden ben 6 sından 15 ıne kadar olanları lıstede cıkmasını ıstıyorum.

For x : 6 <> 15 denedım ama sanırım bırseyı eksık yapıyorum bu konudada yardımcı olabılırmısınız.
 
İlgili kodu aşağıdaki ile değiştirin.:cool:
Kod:
For X = 6 To 15
 
Geri
Üst