我想以返回新范围的方式将范围复制到新位置,然后我可以将其存储在变量中以供进一步处理。
我收集复制单元格的常用方法是使用 Range.Copy 方法:
Dim rCopiedRange As Range, rRangeToCopy as Range, rStartLocation as Range
Set rRangeToCopy = ActiveWorkbook.Sheets(1).Range("C4:F10")
Set rStartLocation = ActiveWorkbook.Sheets(2).Range("A2")
rRangeToCopy.Copy rStartLocation
Run Code Online (Sandbox Code Playgroud)
但由于这是一种方法,我无法将结果设置为变量并且
Set rCopiedRange = rRangeToCopy.Copy rStartLocation
Run Code Online (Sandbox Code Playgroud)
是一个语法错误。
如何将范围复制到新位置,以便将新范围(在本例中是工作表 2 的范围 A2 到 D6)存储为变量?
您可以使用Resize方法,因为您知道目标范围的大小将与源范围相同。
Set rCopiedRange = rStartLocation.resize(rRangeToCopy.rows.count,rRangeToCopy.columns.count)
Run Code Online (Sandbox Code Playgroud)
使用Resize,您可以直接转移范围,而无需涉及剪贴板。
| 归档时间: |
|
| 查看次数: |
152 次 |
| 最近记录: |