Soru Kopyala dinamik yapıştır.

Katılım
24 Ağustos 2013
Mesajlar
76
Excel Vers. ve Dili
2010
Merhaba arkadaşlar
"Sheet1" A-I aralığında bir tablo,K-S aralığında bir tablom ve U-C aralığında bir tablom var.
Bu tablolarda ki satır sayısı değişkenlik göstere biliyor.
Bu üç tabloyu "sheet1" tablosunda kopyalayıp "sheet 2" sayfasında A-I stunları aralığında alt alt gelicek şekilde yapıştıra bilecek bir makro mümkün mü acaba?
Teşekkürler.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Aşağıdaki kodu bir modüle kopyalayıp çalıştırın.
Sayfa isimlerini kendinize uyarlayın.

Kod:
Sub Kopyala()
    Dim syf1 As Worksheet, syf2 As Worksheet
    Dim Say1 As Integer, Say2 As Integer
    
    Set syf1 = Worksheets("Sayfa1") 'Kopyalanacak Sayfa
    Set syf2 = Worksheets("Sayfa2") 'Yapıştırılacak Sayfa
    
    syf2.Range("A:I").ClearContents
    
    Say1 = syf1.Cells(Rows.Count, "A").End(xlUp).Row
    syf1.Range("A1:I" & Say1).Copy syf2.Range("A1")
    
    Say1 = syf1.Cells(Rows.Count, "K").End(xlUp).Row
    Say2 = syf2.Cells(Rows.Count, "A").End(xlUp).Row + 1
    syf1.Range("K2:S" & Say1).Copy syf2.Range("A" & Say2)
    
    Say1 = syf1.Cells(Rows.Count, "U").End(xlUp).Row
    Say2 = syf2.Cells(Rows.Count, "A").End(xlUp).Row + 1
    syf1.Range("U2:AC" & Say1).Copy syf2.Range("A" & Say2)
End Sub
 
Katılım
24 Ağustos 2013
Mesajlar
76
Excel Vers. ve Dili
2010
Merhaba Çok teşekkür ederim.Aynı kodu aynı sayfada çalıştırmak istersek ne yapmalıyız.Aşağıdaki alan nasıl degişmeli.
Set syf1 = Worksheets("Sayfa1") 'Kopyalanacak Sayfa
Set syf2 = Worksheets("Sayfa2") 'Yapıştırılacak Sayfa
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Kod:
Sub Kopyala2()
    Dim syf1 As Worksheet
    Dim Say1 As Integer, Say2 As Integer
    
    Set syf1 = Worksheets("Sayfa1")

    Say1 = syf1.Cells(Rows.Count, "K").End(xlUp).Row
    Say2 = syf1.Cells(Rows.Count, "A").End(xlUp).Row + 1
    syf1.Range("K2:S" & Say1).Copy syf1.Range("A" & Say2)
    
    Say1 = syf1.Cells(Rows.Count, "U").End(xlUp).Row
    Say2 = syf1.Cells(Rows.Count, "A").End(xlUp).Row + 1
    syf1.Range("U2:AC" & Say1).Copy syf1.Range("A" & Say2)
End Sub
 
Üst