• DİKKAT

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

Formülsüz Kopyalama Makro

  • Konbuyu başlatan Konbuyu başlatan Bwtunc
  • Başlangıç tarihi Başlangıç tarihi

Bwtunc

Altın Üye
Katılım
28 Kasım 2008
Mesajlar
156
Excel Vers. ve Dili
değişken
Merhabalar,

Aşağıda yer alan kodu internette araştırdıktan sonra buldum bir iki ufak değişiklik yaparak kendi isteğime uyarladım. Kod çok temiz çalışan eceli yormayan bir kod. Fakat kodun kusuru kopyalama yaptığı sayfalardan, kopyaladığı hücreleri formülle kopyalıyor olması. Bu nedenle daha sonrasında sıkıntı yaşıyorum. Kodun kopyalarken formülsüz kopyalaması için nereyi ve ne şekilde değiştirmem gerektiğini çözemedim. Yardımcı olabileceklere şimdiden teşekkürler.

Kod:
Private Sub CommandButton1_Click()
Dim trz As Integer
    Dim sayToplam As Integer
    Dim i As Integer
' Sheets("BölgeDataAy").Range("A2:w65536").ClearContents (içeriği silmek için, ihtiyaç halinde burada bulunsun)
    For i = 1 To 5 'sayfa sayısı
        trz = WorksheetFunction.CountA(Worksheets(Worksheets(i).Name).Range("A:A"))
        sayToplam = WorksheetFunction.CountA(Worksheets("BölgeDataAy").Range("A:A"))
        Worksheets(Worksheets(i).Name).Range("A2:s" & trz).Copy _
             Worksheets("BölgeDataAy").Range("A" & sayToplam + 1)
    Next i

End Sub
 
Örneğin A1 hücresinde formül var ve siz bunu B1 hücresine kopyala yapıştır yapıyorsunuz.
Kodlarınızın sonuna Range("B1").Value = Range("B1").Value satırını eklerseniz B1 hücresinin formülünü silip değerini yapıştırır.
Aynı şekilde kendi yapıştırdığınız bölgeye uyarlayabilirsiniz.
 
Worksheets(Worksheets(i).Name).Range("A2:s" & trz).Copy _
Worksheets("BölgeDataAy").Range("A" & sayToplam + 1)

Yerine

Worksheets(Worksheets(i).Name).Range("A2:s" & trz).Copy: Worksheets("BölgeDataAy").Range("A" & sayToplam + 1).PasteSpecial Paste:=xlValues

Yaparsanız sadece değerleri yapıştırır.
 
Çok teşekkür ederim.
 
Geri
Üst