Verileri 3 Koşula Göre Gruplayıp ListView'e Alma

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
603
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Arkadaşlar herkese iyi geceler.

Kod:
Sub listele()
Set s1 = Sheets("sayfa1")
Set s2 = Sheets("sayfa2")
For a = 2 To s1.[b65536].End(3).Row
If s1.Cells(a - 1, "b") & s1.Cells(a - 1, "c") <> s1.Cells(a, "b") & s1.Cells(a, "c") Then
c = c + 1
For b = 2 To 7
s2.Cells(c + 1, b - 1) = s1.Cells(a, b)
Next
End If
Next
End Sub
Yukarıdaki kodu kullanarak verileri 2 koşula göre gruplayıp sayfa2'ye alabiliyorum.
Yapmış olduğum Satis Çikiş Formunda bul deyip koşulları seçtikten sonra BUL butonuna tıkladığım zaman verileri ListView'e alıyorum. Ama tekrar eden aynı kayıtlar var. Bu tekrar eden kayıtları Belge No1, Belge No2 ve Fiş Türü Satis_Cikis_Fisi olanları gruplamak istiyorum.
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
603
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Arkada&#351;lar kodu a&#351;a&#287;&#305;daki gibi de&#287;i&#351;tirdim ama bu seferde Next Komutunda hata verdi

Kod:
Private Sub CommandButton1_Click()
ListView1.ListItems.Clear

Set sh = Sheets(TextBox1.Value)
son = sh.Cells(65536, 1).End(xlUp).Row
Select Case Veri.Value
       '######################_Stk_Hrk_####################
       Case "H_Belge_No1": Set Rng = sh.Range("B2:B" & son)
       Case "H_Belge_No2": Set Rng = sh.Range("C2:C" & son)
       Case "H_Belge_Tarihi": Set Rng = sh.Range("D2:D" & son)
       Case "H_Fis_T&#252;r&#252;": Set Rng = sh.Range("E2:E" & son)
       Case "H_Firma_Kodu": Set Rng = sh.Range("F2:F" & son)
       Case "H_Ambar_Kodu": Set Rng = sh.Range("G2:G" & son)
       Case "H_&#304;rsaliye_No": Set Rng = sh.Range("H2:H" & son)
       Case "H_&#304;rsaliye_Tarihi": Set Rng = sh.Range("I2:I" & son)
       Case "H_Sip_No1": Set Rng = sh.Range("J2:J" & son)
       Case "H_Sip_No2": Set Rng = sh.Range("K2:K" & son)
       Case "H_Stok_Kodu": Set Rng = sh.Range("L2:L" & son)
       Case "H_G_Miktar": Set Rng = sh.Range("M2:M" & son)
       Case "H_C_Miktar": Set Rng = sh.Range("N2:N" & son)
       
       Case Else: MsgBox "Ge&#231;erli bir alan se&#231;in", vbCritical, "HATALI ALAN &#304;SM&#304;": Set sh = Nothing: Exit Sub

End Select
Select Case Kosul.Value
       Case "Benzer": Set Bul = Rng.Find("*" & Deger.Text & "*")
       Case "&#304;le Ba&#351;layan": Set Bul = Rng.Find(Deger.Text & "*")
       Case "&#304;le Biten": Set Bul = Rng.Find("*" & Deger.Text)
       Case "E&#351;ittir": Set Bul = Rng.Find(Deger.Text, MatchCase:=True)
       Case Else: MsgBox "Ge&#231;erli bir filtre se&#231;in", vbCritical, "HATALI F&#304;LTRE": Set sh = Nothing: Exit Sub
End Select
        If Not Bul Is Nothing Then
                adres = Bul.Address
             Do
                For a = 2 To sh.[b65536].End(3).Row
                If sh.Cells(a - 1, "b") & sh.Cells(a - 1, "c") <> sh.Cells(a, "b") & sh.Cells(a, "c") Then
                sat = Bul.Row
                With ListView1
                   .ListItems.Add , , sh.Cells(sat, 1)
                    X = X + 1
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 2)
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 3)
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 4)
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 5)
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 6)
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 8)
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 7)
                End With
                Set Bul = Rng.FindNext(Bul)
[COLOR="Red"]Next[/COLOR]
             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
603
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
arkada&#351;lar herkese hay&#305;rl&#305; cumalar bu &#351;ekilde bi gruplama yapabilirmiyiz yada alternatif bir c&#246;z&#252;m bulabilirmiyiz
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
603
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Herkese iyi geceler. Bir ka&#231; g&#252;nd&#252;r ara&#351;t&#305;r&#305;yorum ama bi sonuca varamad&#305;m. Yard&#305;mc&#305; olabilirmisiniz
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
603
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
arkada&#351;lar bu konuda bir fikri olan yokmu
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,573
Excel Vers. ve Dili
Microsoft 365- Türkçe
Arkadaşlar kodu aşağıdaki gibi değiştirdim ama bu seferde Next Komutunda hata verdi
Next ifadesini End İf satırının bir altına yazıp denermisiniz. Aşağıdaki gibi...


Kod:
If Not Bul Is Nothing Then
                adres = Bul.Address
             Do
                For a = 2 To sh.[b65536].End(3).Row
                If sh.Cells(a - 1, "b") & sh.Cells(a - 1, "c") <> sh.Cells(a, "b") & sh.Cells(a, "c") Then
                sat = Bul.Row
                With ListView1
                   .ListItems.Add , , sh.Cells(sat, 1)
                    X = X + 1
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 2)
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 3)
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 4)
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 5)
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 6)
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 8)
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 7)
                End With
                Set Bul = Rng.FindNext(Bul)
             Loop While Not Bul Is Nothing And Bul.Address <> adres
        End If
[COLOR=#ff0000]        Next[/COLOR]
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
603
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
karde&#351; dedi&#287;in gibi yapt&#305;m ama copile error Loop Without Do diye hata veriyor bir t&#252;rl&#252; c&#246;zemedim bende
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
603
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Arkada&#351;lar herkese iyi ak&#351;amlar. Konu gerilerde kalm&#305;&#351; yakla&#351;&#305;k 10 g&#252;nd&#252;r bende ara&#351;t&#305;r&#305;yorum ama bi&#351;ey bulamad&#305;m ve yapamad&#305;m. Bana konuyla ilgili yol g&#246;sterirmisiniz istedi&#287;im &#351;ekilde olmuyorsa veye yap&#305;lam&#305;yorsa farkl&#305; bir &#246;nerisi olan arkada&#351;&#305;m&#305;z varm&#305;.
 
Üst