Ошибка 9 «вне диапазона» при копировании диапазона Excel - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь скопировать данные из одной рабочей книги в другую после нажатия кнопки, но диапазон функций не работает и всегда возвращает

ошибка 9 «вне диапазона».

Sub Button1_Click()

Application.ScreenUpdating = False
Application.DisplayAlerts = False

Workbooks.Open "C:\Users\Username\Desktop\Allineamento\Data\MasterData.xlsx"

Workbooks("MasterData").Sheets(2).range(Cells(13, 2), Cells(800, 16)).Copy
Workbooks("ImportSheets").Sheets("Master Data").Cells(2, 1).PasteSpecial Paste.Value

Workbooks("MasterData").Close

Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

1 Ответ

1 голос
/ 28 октября 2019

С основными функциями Excel, Macro-рекордер действительно полезен. Это код, сгенерированный путем копирования и вставки некоторого диапазона Excel:

Sub Macro1()
    Range("A1:E8").Select
    Selection.Copy
    Selection.PasteSpecial xlPasteValues
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("L5").Select
    Application.WindowState = xlNormal
    Range("B7").Select
End Sub

Несмотря на то, что код неэффективен, очень полезно увидеть необходимый код для копирования-вставки - Range.PasteSpecial xlPasteValues

Таким образом, в коде вопроса замените PasteSpecial Paste.Value на PasteSpecial xlPasteValues.

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