• DİKKAT

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

ComboBoxlar la ListBox süzme seçim hatası

Katılım
15 Mart 2005
Mesajlar
176
Excel Vers. ve Dili
office 2016 türkçe
Merhaba dostlarım

Benim sorunum kısaca şöyle 5 adet ComboBox ile bir ListBox içinden veriyi süzüyorum bu verileri TextBoxlara alıyorum ama bu verilerde değişiklik yapmak için o satırı seçtirmeye kalkınca maalesef yapmıyor yani o satırı seçemiyorum bunla birlikte ComboBox larda seçim yapmak için arama yaparken mutlaka tüm kelimeyi yazmamı istiyor harf yazdıkça veriyi süzmüyor bu konuda yardımcı olabilirseniz çok sevinirim

Teşekkürler
İyi çalışmalar
 

Ekli dosyalar

yardım edebilecek bir kişi yokmu çok acil yardıma ihtiyacım varda
bana sadece nerede yanlış yaptığımı söyleseniz veya nasıl yapmam gerektiğini söyleseniz bile olur

teşekkürler
iyi çalışmalar
 
Aslında sorunum kısaca şöyle bir Userformum var bunun üzerinde 1 adet Listbox ım var bu listbox sayfadan 45 sütundan oluşan bir datayı üzerine alıyor. Userform üzerindeki 6 adet combobox ile bu listboxı süzerek istadiğim datayı textbox lar üzerine alıyorum
---------------------------------------------------------------------------------------
Private Sub ComboBox1_Change()
Dim X As Long, Y As Byte, Z As Long, Veri(), Toplam As Double

Application.ScreenUpdating = False

Toplam = 0
ReDim Veri(1 To 47, 1 To 1)
ListBox1.RowSource = Empty

With Worksheets("SİPARİŞLER")
With .Range("$A$1:$AT$" & Rows.Count)
.AutoFilter
If ComboBox1.Value = "" Then
.AutoFilter Field:=1
Else
.AutoFilter Field:=1, Criteria1:=ComboBox1.Value
End If

If ComboBox2.Value = "" Then
.AutoFilter Field:=2
Else
.AutoFilter Field:=2, Criteria1:=ComboBox2.Value
End If

If ComboBox3.Value = "" Then
.AutoFilter Field:=3
Else
.AutoFilter Field:=3, Criteria1:=ComboBox3.Value
End If

If ComboBox4.Value = "" Then
.AutoFilter Field:=4
Else
.AutoFilter Field:=4, Criteria1:=ComboBox4.Value
End If

If ComboBox5.Value = "" Then
.AutoFilter Field:=5
Else
.AutoFilter Field:=5, Criteria1:=ComboBox5.Value
End If

If ComboBox6.Value = "" Then
.AutoFilter Field:=6
Else
.AutoFilter Field:=6, Criteria1:=ComboBox6.Value
End If

For X = 5 To .Cells(Rows.Count, 1).End(3).Row
If .Cells(X, 1).RowHeight <> 0 Then
Z = Z + 1
ReDim Preserve Veri(1 To 47, 1 To Z)
For Y = 1 To 47
Veri(Y, Z) = .Cells(X, Y).Value
If Y = 45 Then Toplam = Toplam
Next
End If
Next

ListBox1.Column = Veri

.AutoFilter
End With
End With
Application.ScreenUpdating = True
End Sub
---------------------------------------------------------------------------------------
Yukarıdaki yazılımı Combobox 2,3,4,5,6 içinde yazmış durumdayım.

---------------------------------------------------------------------------------------
Private Sub UserForm_Initialize()
If Sheets("SİPARİŞLER").FilterMode Then Sheets("GİDER.TAKİP").ShowAllData

With frmgiris.ListBox1
.BackColor = vbBlue
.ColumnCount = 47
.ColumnWidths = "50;70;60;60;60;30;30;30;30;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;135;60;60;0;0;0"
.ForeColor = vbWhite
If Sheets("SİPARİŞLER").Range("A5") = Empty Then
.RowSource = Empty
Else
.RowSource = "SİPARİŞLER!A5:AU" & [SİPARİŞLER!A65536].End(3).Row
.IntegralHeight = False
End If
End With
End Sub
---------------------------------------------------------------------------------------

Private Sub ListBox1_Click()
ActiveSheet.AutoFilterMode = False
Dim i As Integer
For i = 0 To ListBox1.ListCount
If ListBox1.Selected(i) = True Then
Sheets("SİPARİŞLER").Select
Sheets("SİPARİŞLER").Range("A" & ListBox1.ListIndex + 5).Select
End If
Next

txttarih.Value = ListBox1.List(ListBox1.ListIndex, 0)
txtfirma.Value = ListBox1.List(ListBox1.ListIndex, 1)
txtmodel.Value = ListBox1.List(ListBox1.ListIndex, 2)
txtderi.Value = ListBox1.List(ListBox1.ListIndex, 3)
txtrenk.Value = ListBox1.List(ListBox1.ListIndex, 4)
txtorder.Value = ListBox1.List(ListBox1.ListIndex, 5)
bedentipi.Value = ListBox1.List(ListBox1.ListIndex, 8)
sip1.Value = ListBox1.List(ListBox1.ListIndex, 9)
sip2.Value = ListBox1.List(ListBox1.ListIndex, 11)
sip3.Value = ListBox1.List(ListBox1.ListIndex, 13)
sip4.Value = ListBox1.List(ListBox1.ListIndex, 15)
sip5.Value = ListBox1.List(ListBox1.ListIndex, 17)
sip6.Value = ListBox1.List(ListBox1.ListIndex, 19)
sip7.Value = ListBox1.List(ListBox1.ListIndex, 21)
sip8.Value = ListBox1.List(ListBox1.ListIndex, 23)
sip9.Value = ListBox1.List(ListBox1.ListIndex, 25)
sip10.Value = ListBox1.List(ListBox1.ListIndex, 27)
sip11.Value = ListBox1.List(ListBox1.ListIndex, 29)
sip12.Value = ListBox1.List(ListBox1.ListIndex, 31)
sip13.Value = ListBox1.List(ListBox1.ListIndex, 33)
sip14.Value = ListBox1.List(ListBox1.ListIndex, 35)
sip15.Value = ListBox1.List(ListBox1.ListIndex, 37)
sip16.Value = ListBox1.List(ListBox1.ListIndex, 39)
adet1.Value = ListBox1.List(ListBox1.ListIndex, 10)
adet2.Value = ListBox1.List(ListBox1.ListIndex, 12)
adet3.Value = ListBox1.List(ListBox1.ListIndex, 14)
adet4.Value = ListBox1.List(ListBox1.ListIndex, 16)
adet5.Value = ListBox1.List(ListBox1.ListIndex, 18)
adet6.Value = ListBox1.List(ListBox1.ListIndex, 20)
adet7.Value = ListBox1.List(ListBox1.ListIndex, 22)
adet8.Value = ListBox1.List(ListBox1.ListIndex, 24)
adet9.Value = ListBox1.List(ListBox1.ListIndex, 26)
adet10.Value = ListBox1.List(ListBox1.ListIndex, 28)
adet11.Value = ListBox1.List(ListBox1.ListIndex, 30)
adet12.Value = ListBox1.List(ListBox1.ListIndex, 32)
adet13.Value = ListBox1.List(ListBox1.ListIndex, 34)
adet14.Value = ListBox1.List(ListBox1.ListIndex, 36)
adet15.Value = ListBox1.List(ListBox1.ListIndex, 38)
adet16.Value = ListBox1.List(ListBox1.ListIndex, 40)

kal1.Value = Val(sip1.Value) - Val(adet1.Value)
kal2.Value = Val(sip2.Value) - Val(adet2.Value)
kal3.Value = Val(sip3.Value) - Val(adet3.Value)
kal4.Value = Val(sip4.Value) - Val(adet4.Value)
kal5.Value = Val(sip5.Value) - Val(adet5.Value)
kal6.Value = Val(sip6.Value) - Val(adet6.Value)
kal7.Value = Val(sip7.Value) - Val(adet7.Value)
kal8.Value = Val(sip8.Value) - Val(adet8.Value)
kal9.Value = Val(sip9.Value) - Val(adet9.Value)
kal10.Value = Val(sip10.Value) - Val(adet10.Value)
kal11.Value = Val(sip11.Value) - Val(adet11.Value)
kal12.Value = Val(sip12.Value) - Val(adet12.Value)
kal13.Value = Val(sip13.Value) - Val(adet13.Value)
kal14.Value = Val(sip14.Value) - Val(adet14.Value)
kal15.Value = Val(sip15.Value) - Val(adet15.Value)
kal16.Value = Val(sip16.Value) - Val(adet16.Value)
topgel.Value = Val(top1.Visible) + Val(top2.Value) + Val(top3.Value) + Val(top4.Value) + Val(top5.Value) + Val(top6.Value) + Val(top7.Value) + Val(top8.Value) + Val(top9.Value) + Val(top10.Value) + Val(top11.Value) + Val(top12.Value) + Val(top13.Value) + Val(top14.Value) + Val(top15.Value) + Val(top16.Value)
siptop.Value = ListBox1.List(ListBox1.ListIndex, 6)

gel1.SetFocus

End Sub
---------------------------------------------------------------------------------------

Listboxın click olayındada yukarıdaki yazılım mevcut. Şimdi sorunumu yazayım eğer combobox lar ile her hangi bir süzme işlemi yapmadıysam listbox a tıkladığımda doğru satırı seçiyor ve doğru dataları üstüne alıyor ama comboboxlardan her hangi birinde bir süzme işlemi yaptıysam sonrasında listboxa kliklediysem doğru satırı seçemiyor ama doğru dataları üstüne alıyor. Doğru satırı seçmesi benim için önemli çünkü aşağıdaki kayıt makrosunu çalıştıracağımdan o satırı seçmesi lazım.
---------------------------------------------------------------------------------------
Private Sub cmdkaydet_Click()
Sheets("SİPARİŞLER").Select
ActiveCell.Offset(0, 7).Value = topgel.Value
ActiveCell.Offset(0, 10).Value = top1.Value
ActiveCell.Offset(0, 12).Value = top2.Value
ActiveCell.Offset(0, 14).Value = top3.Value
ActiveCell.Offset(0, 16).Value = top4.Value
ActiveCell.Offset(0, 18).Value = top5.Value
ActiveCell.Offset(0, 20).Value = top6.Value
ActiveCell.Offset(0, 22).Value = top7.Value
ActiveCell.Offset(0, 24).Value = top8.Value
ActiveCell.Offset(0, 26).Value = top9.Value
ActiveCell.Offset(0, 28).Value = top10.Value
ActiveCell.Offset(0, 30).Value = top11.Value
ActiveCell.Offset(0, 32).Value = top12.Value
ActiveCell.Offset(0, 34).Value = top13.Value
ActiveCell.Offset(0, 36).Value = top14.Value
ActiveCell.Offset(0, 38).Value = top15.Value
ActiveCell.Offset(0, 40).Value = top16.Value

If siptop.Value = topgel.Value Then


End If


ActiveSheet.AutoFilterMode = False
Unload frmgiris

End Sub

---------------------------------------------------------------------------------------

Ayrıca combobox larda süzme yapmak için her hangi bir harf yazdığımda o harfle ilk süzmeyi yapması lazım ama benden tüm kelimeyi yazmamı istiyor comboboxların özelliklerine bakmama rağmen bunu düzeltemedim.

teşekkürler
iyi çalışmalar
 
dostlarım en azından nerde hata yaptığımı söyleyecek biri olsa gerisini halledeceğim ama lütfen bana en azından bu konuda yardımcı olsanız çok sevineceğim
 
bu konuda yardım edecek kimse yokmu acaba gerçekten çok acil

teşekkürler
iyi çalışmalar
 
Merhaba dostlarım

Benim sorunum kısaca şöyle 5 adet ComboBox ile bir ListBox içinden veriyi süzüyorum bu verileri TextBoxlara alıyorum ama bu verilerde değişiklik yapmak için o satırı seçtirmeye kalkınca maalesef yapmıyor yani o satırı seçemiyorum bunla birlikte ComboBox larda seçim yapmak için arama yaparken mutlaka tüm kelimeyi yazmamı istiyor harf yazdıkça veriyi süzmüyor bu konuda yardımcı olabilirseniz çok sevinirim
Teşekkürler
İyi çalışmalar

Merhaba.
ListBox içinden veriyi süzdürüp kayıt yapmanız; sayfada sıra no vererek mümkündür.



Combobox sorunu içinde:
Tüm Comboboxlar için

ComboBox Change başlığı altında bulunan

Aşağıdaki şekildeki gibi ne kadar varsa hepsine ( & "*" ) bölümünü ekleyip,deneyiniz.

Kod:
.AutoFilter Field:=1, Criteria1:=ComboBox1.Value & "*"
 
Son düzenleme:
Hocam çok teşekkür ederim inanın insan bir konuda fazla uzun süre düşününce o konu içinde kısır döngüye giriyor halbuki sizin bana gösterdiğiniz yol süper ve çözüm çok kolay her satıra bir sıra no koyup süzme işlemi bittiğinde o sayfada sıra no ile buldurtup dataları işletmek çok kolay vallahi çok teşekkür ederim hemen şu anda başlıyorum olayı sizin gösterdiğiniz yöntem ile hemen hallediyorum sağolun. Bu arada combobox lar için belirtmiş lduğunuz & "*" olayını gerçekleştirdim işlem tamam hiç bir sıkıntı kalmadı.
Tekrardan vermiş olduğunuz değerli bilgi için size bütün içtenliğimle teşekkür eder çalışmalarınızda başarılar dilerim hocam
 
Geri
Üst