• DİKKAT

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

Sayfayı İki Sütuna Göre Süzüp Yazdrımak

Katılım
3 Haziran 2017
Mesajlar
797
Excel Vers. ve Dili
2007, 32
Arkadaşlar,

Aşağıdaki kod ile Combox2'den seçim yapıp bu seçime göre sayfayı süzüp yazdırabiliyorum. Ancak süzme işlemi için ikinci bir kritere de ihtiyacım var: Yani Combox2 ve Combox3'ten seçim yapıp öyle yazdırmak istiyorum. Yani "liste" isimli sayfada A ve L sütunundaki değerleri ortak olanları süzüp yazdıracak. Aşağıdaki kod sadece A sütununa göre seçim yapıyor. Örnek dosya linki aşağıda.

İlgilenecek arkadaşlara şimdiden çok teşekkür ederim.

Kod:
Private Sub yazdir_Click()
If ComboBox2.Value = "" Then
MsgBox "Önce listeden bir sınıf seçiniz.", vbInformation, " Uyarı"
GoTo 20
End If
Dim Sh As Worksheet, sonsat As Long
If ComboBox2.Value = "" Then Exit Sub
Sheets("liste").Select
Set Sh = Sheets("Suz")
Sh.Range("A:L").Clear
Range("A1").AutoFilter
Range("A1").AutoFilter field:=1, Criteria1:=ComboBox2.Value
Range("A1").CurrentRegion.Copy Sh.Range("A1")
Sh.Range("A2:L" & Sh.Rows.Count).Sort Sh.Range("B2"), xlAscending
Range("A1").AutoFilter
sonsat = Sh.Cells(Rows.Count, "A").End(xlUp).Row
Call yazdira("Suz!A1:L" & sonsat)
20:
End Sub

Dosya linki:

http://dosya.co/onrm50pkg5sd/PEN.xlsm.html
 
Son düzenleme:
Aşağıdaki kodu deneyiniz.

Kod:
Private Sub yazdir_Click()
Dim sh As Worksheet, sonsat As Long
If ComboBox2.Value = "" Then Exit Sub
Sheets("liste").Select
Set sh = Sheets("Suz")
sh.Range("A:L").Clear
Range("A1").AutoFilter
Range("A1").AutoFilter field:=1, Criteria1:=ComboBox2.Value
Range("A1").AutoFilter field:=12, Criteria1:=ComboBox3.Value
Range("A1").CurrentRegion.Copy sh.Range("A1")
sh.Range("A2:L" & sh.Rows.Count).Sort sh.Range("B2"), xlAscending
Range("A1").AutoFilter
sonsat = sh.Cells(Rows.Count, "A").End(xlUp).Row
Call yazdira("Suz!A1:L" & sonsat)
End Sub
 
Aşağıdaki kodu deneyiniz.

Kod:
Private Sub yazdir_Click()
Dim sh As Worksheet, sonsat As Long
If ComboBox2.Value = "" Then Exit Sub
Sheets("liste").Select
Set sh = Sheets("Suz")
sh.Range("A:L").Clear
Range("A1").AutoFilter
Range("A1").AutoFilter field:=1, Criteria1:=ComboBox2.Value
Range("A1").AutoFilter field:=12, Criteria1:=ComboBox3.Value
Range("A1").CurrentRegion.Copy sh.Range("A1")
sh.Range("A2:L" & sh.Rows.Count).Sort sh.Range("B2"), xlAscending
Range("A1").AutoFilter
sonsat = sh.Cells(Rows.Count, "A").End(xlUp).Row
Call yazdira("Suz!A1:L" & sonsat)
End Sub

Oldu. Çok teşekkürler. :)
 
Geri
Üst