• DİKKAT

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

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

  • Konbuyu başlatan Konbuyu başlatan servan12
  • Başlangıç tarihi Başlangıç tarihi
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.
 
Örnek dosyanızı da eklerseniz daha kolay cevap alabilirsiniz
 
Ö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
 
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
 
("A10:AE430") O aralıkta birleştirilmiş bir hücreniz yokki
 
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
 
Geri
Üst