listbox mu yoksa combobox mu

Katılım
14 Temmuz 2009
Mesajlar
12
Excel Vers. ve Dili
Office 2003 Professional
Sevgili Üstadlar.
Konuyu açmadan önce arama yapılması uyarısını dikkate alarak bütün forumu taradım. ve yüzlerce başlık altında buldum. Ancak örneklerini de indirip inceleme ve kodları uygulamaya çalışmama rağmen beceremedim. Sorum şöyle ;
GİRİS sayfasından çalıştırdığım bir formda oluşturduğum listbox veya combobox ta VERİ TABANI sayfasındaki A5 hücresinden başlayan ve hergün satır sayısı artan listemi (11 sütunlu) görmek istiyorum. ama form üzerinden değişiklik yapamamalıyım. sadece izlenmeli ve yine formda ki textbox a girdiğim değeri (Arama gibi) listeyi süzerek bulmalı. arama kriteri olarak Tc kimlik nosunun olduğu sütunu kullanabilirim. textbox a 11 haneli tc kimlik numarasının tamamını girmeme gerek kalmadan da yapıyor sanırım.
Örneğin: sırayla 4-5-6 sayılarını girdiğimde önce 4leri sonra 45 leri sonrada 456 lası süzerek listeyi azaltmalı. Bence anlatamadım ama uzman abilerin anladığını düşünüyorum.
Fakat o kadar uğraşmama rağmen listbox ta sadece A sütununu gösteriyor. biryerlerde büyük eksiklik var ama :)) bulamadım.

bana açıklayarak yardımcı olabilecek abilere sonsuz teşekkürler.
Örnek dosyayı ekledim
 

Ekli dosyalar

Orion1

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

Ofis-2010-TR 32 Bit
B sütunu sayısal dğer olduu için otomatik süze * karakterini kullandığımız zaman ile başlar olmuyor.Stringe dönüşüyor.Değerler.
Ama direk no yazark bulabilirsiniz.
Belki find kullanarak listeleme yapılabilir ama bu sefer listeleme hızı azalır.:cool:
Dosya ekte.:cool:
 

Ekli dosyalar

Katılım
14 Temmuz 2009
Mesajlar
12
Excel Vers. ve Dili
Office 2003 Professional
B sütunu sayısal dğer olduu için otomatik süze * karakterini kullandığımız zaman ile başlar olmuyor.Stringe dönüşüyor.Değerler.
Ama direk no yazark bulabilirsiniz.
Belki find kullanarak listeleme yapılabilir ama bu sefer listeleme hızı azalır.:cool:
Dosya ekte.:cool:
yooo böylede çok güzel olmuş.Elinize sağlık. fakat b sütunundan bir değer girdim mi buluyor yeni bir sorgu yapmak için textbox un içindeki eski aranan değeri silince hata veriyor. sizde de oldu mu bu sorun acaba..
 

Orion1

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

Ofis-2010-TR 32 Bit
yooo böylede çok güzel olmuş.Elinize sağlık. fakat b sütunundan bir değer girdim mi buluyor yeni bir sorgu yapmak için textbox un içindeki eski aranan değeri silince hata veriyor. sizde de oldu mu bu sorun acaba..
Bu durumu düzelttim.Dosyayı 3ncü mesajdan indirebilirsiniz.:cool:
 
Katılım
14 Temmuz 2009
Mesajlar
12
Excel Vers. ve Dili
Office 2003 Professional
Evren Bey elinize emeğinize sağlık. Hızlı alakanız için çok teşekkür..
 
Katılım
14 Temmuz 2009
Mesajlar
12
Excel Vers. ve Dili
Office 2003 Professional
Bu durumu düzelttim.Dosyayı 3ncü mesajdan indirebilirsiniz.:cool:
Evren bey hatırlarsanız geçen hafta aşağıdaki kodlarla yardım etmiştiniz. bugün fark ettiğim bir şey oldu. Textbox a değer girip arama yaptıktan sonra textbox un içindeki değeri silmeden formdan çıkarsam sayfada otomatik filitreyi açık ve veriyi süzülmüş halde buluyorum. Bu formdan çıkmak için kullandığım butonamı textbox un içini silecek bir kod eklesem acaba.


Private Sub kapat_Click()
Unload Me
End Sub

Private Sub TextBox1_Change()
Dim suz As Worksheet
On Error Resume Next
Set suz = Sheets("SUZ")
suz.Range("A2:K65536").Clear
With Sheets("VERİ TABANI")
.Range("A2").AutoFilter
.Range("A2").AutoFilter field:=2, Criteria1:="=" & CDbl(TextBox1.Text)
.Range("A2:K" & .Cells(65536, "B").End(xlUp).Row).CurrentRegion.Copy _
suz.Range("A1")
Application.CutCopyMode = False
End With
ListBox1.RowSource = "SUZ!A2:K" & suz.Cells(65536, "B").End(xlUp).Row
End Sub


Private Sub UserForm2_Initialize()
Dim sat As Long
Sheets("VERİ TABANI").Range("A2").AutoFilter
sat = Sheets("VERİ TABANI").Cells(65536, "B").End(xlUp).Row
ListBox1.RowSource = "VERİ TABANI!A3:K" & sat
End Sub
 

Orion1

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

Ofis-2010-TR 32 Bit
Userformun modülüne aşağıdaki kodu yapıştırınız.:cool:
Kod:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Sheets("VERİ TABANI").Range("A2").AutoFilter
End Sub
 

Orion1

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

Ofis-2010-TR 32 Bit
Aşağıdaki dahada doğru.
Userformun modülüne yapıştırınız.Öncekini yapıştırdaysanız onu silin.:cool:
Kod:
If Sheets("VERİ TABANI").AutoFilterMode = True Then
    Sheets("VERİ TABANI").Range("A2").AutoFilter
End If
 
Katılım
14 Temmuz 2009
Mesajlar
12
Excel Vers. ve Dili
Office 2003 Professional
Aşağıdaki dahada doğru.
Userformun modülüne yapıştırınız.Öncekini yapıştırdaysanız onu silin.:cool:
Kod:
If Sheets("VERİ TABANI").AutoFilterMode = True Then
    Sheets("VERİ TABANI").Range("A2").AutoFilter
End If
Teşekkür ederim ilkini uyguladığımda düzelmişti. Yinede son mesajdaki kodu uyguluyorum. Tekrar teşekkür ederim, elinize sağlık.
 
Katılım
14 Temmuz 2009
Mesajlar
12
Excel Vers. ve Dili
Office 2003 Professional
Aşağıdaki dahada doğru.
Userformun modülüne yapıştırınız.Öncekini yapıştırdaysanız onu silin.:cool:
Kod:
If Sheets("VERİ TABANI").AutoFilterMode = True Then
    Sheets("VERİ TABANI").Range("A2").AutoFilter
End If
Yani böylemi olacak,,



Private Sub UserForm2_Initialize()
Dim sat As Long
Sheets("VERİ TABANI").Range("A2").AutoFilter
sat = Sheets("VERİ TABANI").Cells(65536, "B").End(xlUp).Row
ListBox1.RowSource = "VERİ TABANI!A3:K" & sat
End Sub



'Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'Sheets("VERİ TABANI").Range("A2").AutoFilter
'End Sub
If Sheets("VERİ TABANI").AutoFilterMode = True Then
Sheets("VERİ TABANI").Range("A2").AutoFilter
End If
 
Üst