• DİKKAT

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

copy paste yardım

Katılım
11 Mart 2020
Mesajlar
87
Merhaba arkadaşlar, Aşağıdaki makro da kalın olarak işaretlediğim satır hata veriyor. Amacım hem formatı korumak hemde değerleri formülsüz olarak yapıştırmak. ne olarak değiştirmeliyim ? (newbook.Sheets(1).Range("A1").PasteSpecial xlPasteValues) değerleri yapıştırmıyor.

Sub yenidosya59()
Dim newbook As Workbook
yol = ThisWorkbook.Path
ad = Sheets("Alt").Range("E5").Value
Sheets("Alt").Range("F1:O2,F21:O32").Copy
Set newbook = Workbooks.Add
newbook.Sheets(1).Range("A1").PasteSpecial xlPasteAllUsingSourceTheme
newbook.Sheets(1).Range("A1").PasteSpecial xlPasteValues

newbook.SaveAs Filename:=yol & "\" & ad & Format(Time, "hhmmss") & ".xlsx"
Application.CutCopyMode = False
End Sub
 
Merhaba.
Hatanın sebebi Parçalı alanı özel yapıştırma yapmanızdan kaynaklanıyor.
Parçalı alanların her birini ayrı ayrı kopyalayıp yapıştırmanız gerekiyor.

Kod:
Sub yenidosya59()
    Dim newbook As Workbook
    Dim Yol As String, ad As String
    Yol = ThisWorkbook.Path
    ad = Sheets("Alt").Range("E5").Value
   
    Set newbook = Workbooks.Add

    ThisWorkbook.Sheets("Alt").Range("F1:O2").Copy
    newbook.Sheets(1).Range("A1").PasteSpecial xlPasteFormats
    newbook.Sheets(1).Range("A1").PasteSpecial xlPasteValues
   
    ThisWorkbook.Sheets("Alt").Range("F21:O32").Copy
    newbook.Sheets(1).Range("A3").PasteSpecial xlPasteFormats
    newbook.Sheets(1).Range("A3").PasteSpecial xlPasteValues
   
    newbook.SaveAs Filename:=Yol & "\" & ad & Format(Time, "hhmmss") & ".xlsx"
    Application.CutCopyMode = False
End Sub
 
Muzaffer hocam teşekkürler detek için ama malesef yine aynı hatayı alıyorum aynı satırda. örnek dosyayı paylaşıyorum.
Amacım hem formatı korumak hemde değerleri formülsüz olarak yapıştırmak. (newbook.Sheets(1).Range("A1").PasteSpecial xlPasteValues) değerleri yapıştırmıyor hata veriyor yine.
 

Ekli dosyalar

Hatayı buldum Muzaffer bey "Merge " hatasından kaynaklanıyormuş. Teşekkürler desteğiniz için yine de.
 
Alternatif olarak aşağıdaki gibi de kullanabilirsiniz..

Kod:
    ThisWorkbook.Sheets("Alt").Range("F1:O2,F21:O32").Copy
    newbook.Sheets(1).Range("A1").PasteSpecial
    Selection.Value = Selection.Value
 
Geri
Üst