Описание:
Моя проблема: при использовании специального метода вставки выдается ошибка
Не удалось выполнить метод PasteSpecial класса Range
и выделите эту строку кодов
.Sheets(i).Range("A1").PasteSpecial Paste:=xlPasteFormats
Мой полный код:
'for merge sheet from other workbooks
Dim wbk, twb As Workbook, sPath As String, sFile As String, sName As String
sPath = "C:\Users\mazman\Desktop\Hilmi\ data Summary\"
sFile = Dir(sPath & "*.xls*")
Set twb = ThisWorkbook
Application.ScreenUpdating = 0
Do While sFile <> ""
Set wbk = Workbooks.Open(sPath & sFile)
With wbk
sName = Split(Split(.Name, "_")(6), ".")(0)
.Sheets(3).Copy after:=twb.Sheets(twb.Sheets.Count)
.Close 0
End With
With twb
.ActiveSheet.Name = sName
.ActiveSheet.Range("A1:R1").RowHeight = 45
.ActiveSheet.Range("A1:R1").WrapText = True
.ActiveSheet.Range("A1:R1").Interior.ColorIndex = 15
End With
sFile = Dir()
Loop
Set wbk = Nothing
'For copy from the merge sheet into sheet "Step 1" then copy the result in sheets(3) and paste to the origin sheet
Dim twb As Workbook
Set twb = ThisWorkbook
For i = 4 To 11
With twb
.Sheets(i).Range("A2:R3063").Copy
.Worksheets("STEP 1").Range("A3").PasteSpecial xlPasteValues
.Sheets(3).Range("A9:O27").Copy
.Sheets(i).Cells.Clear 'work well until this line
.Sheets(i).Range("A1").PasteSpecial xlPasteAllUsingSourceTheme 'start getting error on this line
.Sheets(i).Range("A1").PasteSpecial xlPasteValues
.Sheets(i).Range("A1:O19").ColumnWidth = 10.8
End With
Next i
Set twb = Nothing
Я все еще новичок в этой Excel VBA и считаю, что многое нужно улучшить. Любая помощь будет оценена