excel - 根据 Range 变量分配单元格值
问题描述
我目前有从多个范围复制值并将这些值粘贴到其他范围的代码。这个项目的范围是不断变化的,所以每次添加行或列时都需要在我的 VBA 代码中更改范围。我试图通过创建全局范围变量来存储范围位置来简化这一点,并让我的复制/粘贴代码引用这些变量。
Public test As Range
Public def1 As Range
Public Sub initializeGlobalVars()
'Assign values to the global variables
Set def1 = Sheets("Defaults").Range("B10:D14")
Set test = Sheets("Defaults").Range("B32:D36")
test = def1
End Sub
我知道我在这里遗漏了一些行或错误地接近它,但我希望能够通过引用变量“test”而不是单元格位置来更改变量“test”中实际单元格的值,因为它是不断变化的。这可能吗?
感谢您的帮助!
解决方案
因为Range
需要一个字符串变量,所以您可以执行以下操作:
Dim strRangeToUse as String
strRangeToUse = "B10:D14"
Set test = Sheets("Defaults").Range(strRangeToUse)
如果您想strRangeToFill
使用测试范围设置另一个范围 ( ),您可以执行以下操作:
Sheets("Defaults").Range(strRangeToFill).Value = test.Value
推荐阅读
- python - 如何在dict python中获取密钥字符串?
- matlab - 如何在matlab中求解受约束的方程?
- django - 从视图访问消费者以通过 WebSocket (Django-Channelsv2.2 & DRF) 将 api 接收的数据推送给用户
- json - 在 udf 中调用 pyspark.sql.functions.from_json
- mysql - 如何使用 Knex raw 在 MySQL 中创建存储过程
- css - 如何从 Tailwind 中拆分生成的 CSS 代码?
- go - 转换负数
- python - 如何在面向对象的 PyOpenGL 中进行击退?
- javascript - 当我想从本地存储读取时,“for”只迭代一次
- html - 如何在 html 中显示 wordcloud?