excel 2016 filtreleyip kopyala yapıştır yaptığım macroda sorun

Katılım
8 Ocak 2021
Mesajlar
7
Excel Vers. ve Dili
2016
Kod:
Windows("1.xlsx").Activate
    Sheets("AKALAN").Select
    Application.Goto Reference:="R11C1"
    Columns("B:B").Select
    Range("B10").Activate
    Selection.AutoFilter
    ActiveSheet.Range("$B$1:$B$430").AutoFilter Field:=1, Criteria1:=Array( _
        "ANALİZ TARİHİ"), Operator:=xlFilterValues, Criteria2:=Array(1, "12/22/2020" _
        )
    Application.Goto Reference:="R11C1"
    Columns("B:B").Select
    Range("B10").Activate
    Selection.AutoFilter
    ActiveSheet.Range("$B$1:$B$430").AutoFilter Field:=1, Criteria1:=Array( _
        "ANALİZ TARİHİ"), Operator:=xlFilterValues, Criteria2:=Array(1, "12/22/2020" _
        )
    Range("A345:AE365").Select
    Selection.Copy
    Windows("2.xlsx").Activate
    Sheets("AKALAN").Select
    Range("A4").Select
    ActiveSheet.Paste
şeklinde bir macrom var, öncelikle olan veriyi bir çalışma kitabında filtreleyip başka bir çalışma kitabına aktarıyorum fakat sıkıntı şu, range : A345-AE365 kısmı filtrelenen verilerin hangi satırda olduğuna bağlı olarak değişiyor, bunu nasıl makroya uyarlayabilirim, sürekli bu aralık değişiyor aylara göre gelen verilerde farklı satırlarda yer alıyor.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,784
Excel Vers. ve Dili
Microsoft 365 Tr-64
Örnek dosyanızı da eklerseniz daha kolay cevap alabilirsiniz
 
Katılım
8 Ocak 2021
Mesajlar
7
Excel Vers. ve Dili
2016
Örnek dosyanızı da eklerseniz daha kolay cevap alabilirsiniz

excel.xlsx dosyasında veriler mevcut 1 2 ve 3 numaralı datasheetlerde ben makro ile 1. numaralı datashetteki verileri analiz tarihine göre filtreleyip sadece ocak ayında dolu olan satırları kopyalayıp (boş olanlardaki tiki kaldırıp) 2.xlsx dosyasındaki 1 numaralı datashette yapıştırmasını istiyorum
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,784
Excel Vers. ve Dili
Microsoft 365 Tr-64
Range("A345:AE365").Select
Selection.Copy


YUkarıdaki 2 satır, yerine aşağıdaki satırı kullanarak denermisin.

Range("A10:AE430").SpecialCells(xlCellTypeVisible).Copy
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,784
Excel Vers. ve Dili
Microsoft 365 Tr-64
("A10:AE430") O aralıkta birleştirilmiş bir hücreniz yokki
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,735
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kendinize uyarlarsınız.

C++:
Sub Test()
    Dim Son As Long
    With Sheets("1")
        .Range("A9:AN" & .Rows.Count).AutoFilter 1, Format(CDate("01.01.2021"), "dd.mm.yyyy")
        Son = .Cells(.Rows.Count, 1).End(3).Row
        If Son >= 10 Then
            .Range("A10:AN" & Son).Copy Workbooks("2.xlsx").Sheets("1").Range("A4")
        End If
    End With
End Sub
 
Üst