ListView'e Koşula göre veri almak

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
608
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Arkadaşlar Sayfa içerisindeki verileri süzüyorum ama bu süzduğüm verileri ListView'e nasıl aktarırım.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Userformdaki commandbutton'un kodları, aşağıdaki gibi olabilir.

NOT : Ekteki dosyayı inceleyiniz.

Kod:
Private Sub CommandButton1_Click()
ListView1.ListItems.Clear
Set sh = Sheets("Stk_Stk_Tnt")
son = sh.Cells(65536, 1).End(xlUp).Row
Select Case Veri.Value
       Case "KOD": Set rng = sh.Range("B1:B" & son)
       Case "AÇIKLMA": Set rng = sh.Range("C1:C" & son)
       Case Else: MsgBox "Geçerli bir alan seçin", vbCritical, "HATALI ALAN İSMİ": Set sh = Nothing: Exit Sub
End Select
Select Case Kosul.Value
       Case "Benzer": Set bul = rng.Find("*" & Deger.Text & "*")
       Case "İle Başlayan": Set bul = rng.Find(Deger.Text & "*")
       Case "İle Biten": Set bul = rng.Find("*" & Deger.Text)
       Case "Eşittir": Set bul = rng.Find(Deger.Text, MatchCase:=True)
       Case Else: MsgBox "Geçerli bir filtre seçin", vbCritical, "HATALI FİLTRE": Set sh = Nothing: Exit Sub
End Select
    If Not bul Is Nothing Then
            adres = bul.Address
         Do
            sat = bul.Row
            With ListView1
               .ListItems.Add , , sh.Cells(sat, 2)
                x = x + 1
               .ListItems(x).ListSubItems.Add , , sh.Cells(sat, 3)
            End With
            Set bul = rng.FindNext(bul)
         Loop While Not bul Is Nothing And bul.Address <> adres
    End If
Set sh = Nothing
Set rng = Nothing
Set bul = Nothing
End Sub
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
608
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Say&#305;n fpc yard&#305;m&#305;n&#305;z i&#231;in &#231;ok te&#351;ekk&#252;r ederim tam istedi&#287;im gibi olmu&#351;
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
608
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Say&#305;n fpc &#246;ncelikle yard&#305;m&#305;n&#305;z i&#231;in tekrar te&#351;ekk&#252;r ederim

Set sh = Sheets("Stk_Stk_Tnt") Bu kodda sayfa ismi sabit. Bakaca&#287;&#305; sayfa ad&#305;n&#305; TextBox1'in i&#231;inde yazan sayfa ad&#305;ndan almas&#305; m&#252;mk&#252;nm&#252;.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Bence böyle seçimlerde; textbox kullanmaktan kaçının. Çünkü, tamamen manuel girişi hedefliyorsunuz. Sayfaların isimleri bahsettiğiniz gibiyse, hataya çok açık olur.

Onun için bir combobox kullanın ve buraya tüm sayfa isimlerini atın. Kullanıcı buradan sayfa ismini seçsin. Hata yapma olasılığınız sıfırlanır.

Combobox'a kitaptaki tüm sayfa isimlerini aldırmak için de aşağıdaki kodları kullanın.

Kod:
for i=1 to sheets.count
    combobox1.additem sheets(i).name
next i
Daha sonra bahsettiğiniz set ile başlayan kodu aşağıdaki gibi değiştirin

Kod:
set sh=sheets(combobox1.value)
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
608
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Say&#305;n fpc &#231;ok te&#351;ekk&#252;r ederim
 
Üst