首页 > 解决方案 > 复制可变大小的范围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

标签: excelvba

解决方案


像这样的东西:

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

推荐阅读