Как скопировать ячейки с помощью макроса vba, не выходя за пределы диапазона - PullRequest
0 голосов
/ 27 февраля 2020

Мой макрос для копирования ячеек из одной рабочей книги в другую не работает? Обе рабочие книги открыты, и я получаю индекс из диапазона. Код ниже:

Sub Paste_OneCell()
Workbooks("DataWorkbook.xlsx").Worksheets("Sheet1").Range("C4").Copy _
Workbooks("PasteWorkbook.xlsx").Worksheets("Sheet1").Range("K4")
End Sub

Как мне это исправить?

Ответы [ 2 ]

3 голосов
/ 27 февраля 2020

Попробуйте изменить Workbooks(DataWorkbook.xlsx).Worksheets(Sheet1) на Workbooks("DataWorkbook.xlsx").Worksheets("Sheet1") или Workbooks("DataWorkbook.xlsx").Worksheets(1)

И, конечно, вы должны сделать то же самое с другим определением рабочей книги / листа. На самом деле ваш код должен выглядеть так:

Workbooks("DataWorkbook.xlsx").Worksheets("Sheet1").Range("C4").Copy _
       Workbooks("PasteWorkbook.xlsx").Worksheets("Sheet1").Range("K4")

или

Workbooks("DataWorkbook.xlsx").Worksheets(1).Range("C4").Copy _
    Workbooks("PasteWorkbook.xlsx").Worksheets(1).Range("K4")
0 голосов
/ 27 февраля 2020

Это работает для меня

Workbooks("Book1").Worksheets(1).Range("A1").Copy _
Destination:=Workbooks("Book2").Worksheets(1).Range("E5")

Я получил это от MicroSoft

Но я думаю, есть много способов сделать это.

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