Получите ошибку времени выполнения 1004, используя метод вставки - PullRequest
0 голосов
/ 25 октября 2019

Описание:

  • Я хочу объединить все листы 3 в моей папке с моей основной рабочей книгой

  • Скопировать данные слиянияимя листа «Шаг 1» для использования в формуле расчета на листах (3)

  • Скопируйте значения результата без формулы из листа 3 на исходный лист

Моя проблема: при использовании специального метода вставки выдается ошибка

Не удалось выполнить метод 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 и считаю, что многое нужно улучшить. Любая помощь будет оценена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...