excel - 将范围复制到目的地并返回目的地范围
问题描述
我想以返回新范围的方式将范围复制到新位置,然后我可以将其存储在变量中以供进一步处理。
我收集复制单元格的常用方法是使用 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
但由于这是一种方法,我无法将结果设置为变量并且
Set rCopiedRange = rRangeToCopy.Copy rStartLocation
是语法错误。
如何将范围复制到新位置,以便将新范围(在本例中为工作表 2 的范围 A2 到 D6)存储为变量?
解决方案
您可以使用Resize方法,因为您知道目标范围的大小将与源范围相同。
Set rCopiedRange = rStartLocation.resize(rRangeToCopy.rows.count,rRangeToCopy.columns.count)
使用调整大小,您可以直接传输范围而不涉及剪贴板。
推荐阅读
- css - 保持圆圈内图像的纵横比
- javascript - API 请求在 ajax 中不起作用,但在 POSTMAN 中起作用
- slim - 当我尝试为 Slim 中的所有路由注册 csrf 中间件时,为什么我的依赖容器变量未定义?
- identityserver4 - ASP.NET Core 3 React SPA 模板 - 设置 AccessTokenLifetime
- javascript - 使用动态令牌在 redux 中迭代状态
- php - 响应后在客户 Middelware 中获取 ValidationException [response->exception = null]
- android - 加载 webview 时拦截验证码图像
- reactjs - 如何为每张卡片放置不同的内容
- flutter - Flutter 中用于 TextSpan 的更多 GestureRecognizers
- google-apps-script - 获取范围内的数据以处理客户端(Google 表格)