Динамическое копирование и вставка в другой лист Excel - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь скопировать данные с закрытого листа Excel на другой лист Excel.Код ниже работает нормально, как и ожидалось.Однако я хочу динамически копировать все заполненные строки и столбцы, вместо того, чтобы жестко кодировать эти диапазоны в моем макросе.Не могли бы вы помочь мне в этом?

Dim filename As String
filename = Application.GetOpenFilename
Dim src As Workbook
Set src = Workbooks.Open(filename, True, True)
ThisWorkbook.Activate
Worksheets(1).Range("A1:BL648").Formula = src.Worksheets(2).Range("A1:BL648").Formula

Как я уже говорил, приведенный выше код работает нормально, но я жестко запрограммировал диапазоны копирования и вставки.Вместо этого нужно сделать динамические, чтобы скопировать только заполненные значения из src.worksheets (2) и вставить их в рабочие листы (1).

Worksheets(1).Range("A1:BL648").Formula = src.Worksheets(2).Range("A1:BL648").Formula

1 Ответ

0 голосов
/ 05 декабря 2018

Попробуйте это.Захватите используемый диапазон адресов листа и затем вставьте в ту же область.

Dim filename As String
filename = Application.GetOpenFilename
Dim src As Workbook
Set src = Workbooks.Open(filename, True, True)


Dim addressText As String
ThisWorkbook.Activate
addressText = Worksheets(1).UsedRange.Address
Worksheets(1).Range(addressText).Formula = src.Worksheets(2).Range(addressText).Formula
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...