Tüm Versiyonu Göster : doğrulama açılır listenin kullanımı
Doğrulama ile açılır liste elde edebiliyoruz, ancak listemiz çok uzun olunca istenen seçeneğe ulaşmak çok zor oluyor.
Hücrede hem açılır liste olsun hem de direk karakter girdiğimizde o karakterle başlayan seçenekler listelensin diğerleri elensin istiyorum ama yapılabilir mi bilmiyorum.
Teşekkürler...
Eğer VBA ile aran fena değilse, yapılır....
combox kullanarak yapılabiliyor...
Evet..... ComboBox ve bir de TextBox kullanırsan, kullanışlı bir şey olur.
Çalışma sayfası üzerine 1 adet ComboBox ve 1 adet TextBox nesnesini ekldikten sonra, TextBox1 nesnesine girdiğin karakterlere uyan veriler ComboBox1 nesnesinde yer alır.
Burada kullanılacak olan ComboBox1 ve TextBox1 nesneleri "Formlar" araç çubuğundan değil "Kontroller" araç çubuğundan eklenmelidir.
Yani nesneler ActiveX olmalıdır.
Bu nesneleri çalışma sayfası üzerine yerleştirdikten sonra, eğer sözkonusu verilerin de sayfanın A sütunundaki hücrelerde alt alta sıralanmışsa, aşağıdaki kodu ilgili sayfanın kod modulüne yazdıktan sonra TextBox1 nesnesine giriş yapıp, uyan verileri ComboBox1 nesnesinde görebilirsin.
Private Sub TextBox1_Change()
Dim NoA As Long
Dim i As Integer
Dim Temp As String
ComboBox1.Clear
NoA = Cells(65536, 1).End(xlUp).Row
Temp = TextBox1
For i = 1 To NoA
If LCase(Left(Range("A" & i), Len(Temp))) = LCase(Temp) Then
ComboBox1.AddItem Range("A" & i)
End If
Next
End Sub
Ã?rneğin A sütundaki verilerin;
Ali
Aliye
Ahmet
Veli
Velioğlu
Cemil
Cemal
...
..
.
ise ve sen TextBox1 nesnesine A girersen, ComboBox1 nesnesinde Ali, Aliye ve Ahmet yer alır. Eğer devam edip, Al yazarsan bu kez Ali ve Aliye yer alır. Veya Ah yazarsan sadece Ahmet yer alır........ gibi.
EKteki dosyayı burdaki koddan yararlanarak yaptım belki bu hali işini yarayacak birisi olabilir buna ek olarak birkaç özellik eklemeyi düşündüm ama beceremedim ilki süzülecek değerlerim başka bir excel dosyasından alınması ikincisi combo boxta aynı değerlerden sadece bir tanesinin çıkması üç ise her comboboxa göre diğer combo boxların işlemesi
bunlarda olursa yeme de yanın da yat :D
iyi çalışmalar
@Fenomen;
Aşağıdaki kod kapalı durumdaki C:\Test.xls dosyasının Sheet1 isimli sayfasındaki A1:A50 aralığındaki verileri, aralarında tekrarlan benzer verileri ayıkladıktan sonra UserForm üzerindeki ComboBox1 nesnesine aktarır.
Const SourcePath As String = "C:\"
Const SourceFile As String = "Test.xls"
Const SourceSheet As String = "Sheet1"
'
Private Sub UserForm_Initialize()
Dim MyComboArray()
Dim MyArg As String
Dim i As Integer, j As Integer
For i = 1 To 50
ReDim Preserve MyComboArray(i)
MyArg = "'" & SourcePath & "[" & SourceFile & "]" & _
SourceSheet & "'!R" & i
MyComboArray(i) = ExecuteExcel4Macro(MyArg & "C1")
Next
For i = 1 To UBound(MyComboArray)
For j = i + 1 To UBound(MyComboArray) - 1
If MyComboArray(i) = MyComboArray(j) Then MyComboArray(i) = ""
Next
Next
For i = 1 To UBound(MyComboArray)
If MyComboArray(i) <> "" And MyComboArray(i) <> 0 Then
ComboBox1.AddItem MyComboArray(i)
End If
Next
Erase MyComboArray
End Sub
vBulletin v3.7.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.