复制可变大小范围VBA

时间:2019-06-19 05:31:39

标签: excel vba

我有一个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 :(得分:0)

类似这样的东西:

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

答案 1 :(得分:0)

尝试:

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)