Копировать переменный диапазон размеров VBA - PullRequest
0 голосов
/ 19 июня 2019

У меня есть лист Excel с данными, представленными в столбцах от столбца A до столбца V. У меня есть код, который вычисляет последнюю строку листа.Теперь я хочу скопировать последнюю строку, например, если, например, последняя строка равна 7, то я хочу скопировать диапазон от A7 до V7 и вставить его в другой лист.

'Here i is the LastRow
Workbooks("Co_insurer Sample File.xlsx").Worksheets("QUIDAM-INSURERS").Range("A:V" & i).Copy
Workbooks("Smart_Excel_BK.xlsm").Worksheets("Input").Range("I" & LastRowBK).Select
Workbooks("Smart_Excel_BK.xlsm").Worksheets("Input").Paste

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

Попробуйте:

Dim lastRow As Long
lastRow = Workbooks("Co_insurer Sample File.xlsx").Worksheets("QUIDAM-INSURERS").Cells(Rows.Count, 1).End(xlUp).Row

Workbooks("Co_insurer Sample File.xlsx").Worksheets("QUIDAM-INSURERS").Range("A:V" & lastRow).Copy Workbooks("Smart_Excel_BK.xlsm").Worksheets("Input").Range("I" & lastRow)
0 голосов
/ 19 июня 2019

Примерно так:

Dim wsSource As worksheet, wsDest As Worksheet, rngCopy As Range

Set wsSource = Workbooks("Co_insurer Sample File.xlsx").Worksheets("QUIDAM-INSURERS")
Set wsDest = Workbooks("Smart_Excel_BK.xlsm").Worksheets("Input")

Set rngCopy = wsSource.Range("A" & i & ":V" & i)

rngCopy.Copy wsDest.Cells(LastRowKS + 1, "I")

Для копирования только значений:

wsDest.Cells(LastRowKS + 1, "I").Resize( _
     rngCopy.Rows.Count, rngCopy.columns.Count).Value = rngCopy.Value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...