• DİKKAT

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

Combobox'tan veri seçip sayfayı süzdürme ve kopyalama

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,065
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki kodlarla Sıralı sayfasını combobox1'deki seçime göre süzdürüp başka bir sayfaya kopyalamak ve o sayfanın adını da süzdüğüm değere göre atamak istiyorum ama Rows(5:5). satırında "Range sınıfının select yöntemi başarısız uyarısı veriyor"

Kod:
Private Sub Worksheet_Activate()
sayı = Sheets("Sayılar").Cells(Rows.Count, 1).End(3).Row - 1
ComboBox1.ListFillRange = "Sayılar!a4:a" & sayı
ComboBox1.ListRows = sayı
End Sub

Kod:
Private Sub ComboBox1_Change()
son = Cells(Rows.Count, 1).End(3).Row
ilce = ComboBox1.Value
Sheets(1).Select 'Burda ilçe sayfasındaki bilgileri siliyoruz
    Rows("5:5").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Delete Shift:=xlUp
Sheets("Sıralı").Select 'Burda süzme işlemi yapıyoruz
    ActiveSheet.Range("$A$5:$I$" & son).AutoFilter Field:=3, Criteria1:=ilce
    Rows("5:5").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
Sheets(1).Select 'Kopyaladığımız ilçe verilerini ilçe sayfasına aktarıyoruz
    Range("A5").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("A5").Select
Sheets("Sıralı").Select 'Sayfayı eski haline getiriyoruz
    Application.CutCopyMode = False
    Range("C5").Select
    ActiveSheet.Range("$A$5:$I$" & son).AutoFilter Field:=3
Sheets(1).Select
ActiveSheet.Name = ilce
End Sub

Süzdürüp kopyalama işini makro ile yapabiliyorum ama ben combobox'tan seçince işlemin yapılmasını istiyorum. Comboboxın kodlarını yazdığım makroyu çalıştırma olarak değiştirdiğimde bu sefer de comboboxtan seçtiğimi süzdüremiyorum.

Yukardaki kodları nasıl değiştirmeliyim ki comboboxtan seçim yaptığımda istediğim işlemleri yapsın.
 
1-

Kod:
   Rows("5:5").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Delete Shift:=xlUp

yukarıdaki bölüm yerine aşağıdakini deneyiniz.

Kod:
Rows(5).Delete Shift:=xlUp

2-

Kod:
Rows("5:5").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy

yukarıdaki bölüm yerine aşağıdakini deneyiniz.

Kod:
 Rows(5).Copy

Bunlar işe yaramazsa dosyanızı ekleyin bir bakalım.
 
İlginiz için teşekkürler sayıl Halit. Dosyam ektedir.
 

Ekli dosyalar

İlginiz için teşekkürler sayıl Halit. Dosyam ektedir.

kod:

Kod:
Private Sub ComboBox1_Change()
son = Cells(Rows.Count, 1).End(3).Row
ilce = ComboBox1.Value

Sheets(1).Rows("5:" & Rows.Count).Delete Shift:=xlUp

Sheets("Sıralı").Select 'Burda süzme işlemi yapıyoruz
    ActiveSheet.Range("$A$5:$I$" & son).AutoFilter Field:=3, Criteria1:=ilce
    Rows("5:5").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
Sheets(1).Select 'Kopyaladığımız ilçe verilerini ilçe sayfasına aktarıyoruz
ActiveSheet.Paste Destination:=Worksheets(1).Range("a5")

    Application.CutCopyMode = False
    Worksheets(1).Range("A5").Select
Sheets("Sıralı").Select 'Sayfayı eski haline getiriyoruz
    Application.CutCopyMode = False
    Range("C5").Select
    ActiveSheet.Range("$A$5:$I$" & son).AutoFilter Field:=3
Sheets(1).Select
ActiveSheet.Name = ilce
End Sub
 
Bu kod daha kısa

Kod:
Private Sub ComboBox1_Change()
son = Cells(Rows.Count, 1).End(3).Row
ilce = ComboBox1.Value

Sheets(1).Rows("5:" & Rows.Count).Delete Shift:=xlUp

ActiveSheet.Range("$A$5:$I$" & son).AutoFilter Field:=3, Criteria1:=ilce
Rows("5").Select
Range(Selection, Selection.End(xlDown)).Copy

ActiveSheet.Paste Destination:=Worksheets(1).Range("a5")
Application.CutCopyMode = False
Range("C5").Select
ActiveSheet.Range("$A$5:$I$" & son).AutoFilter Field:=3

Sheets(1).Name = ilce
Sheets(1).Select
Sheets(1).Range("a5").Select
End Sub
 
Teşekkürler üstad.
 
Geri
Üst