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

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,648
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
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ı
 
Katılım
25 Kasım 2008
Mesajlar
91
Excel Vers. ve Dili
excell2002(10.2701.2625)
Türkçe
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.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
İlgili kodu aşağıdaki ile değiştirin.:cool:
Kod:
For X = 6 To 15
 
Üst