[英]Assign a range to a range variable using ActiveCell.Offset functions in VBA
我试图从 Excel 中的当前活动单元格中偏移来定义一个范围并将其分配给一个变量,以便我可以更改它的一些属性。 这不起作用:
Public Sub tester()
Dim myRange As Range
myRange = Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(1, 7))
myRange.Font.Color = RGB(200, 100, 0)
End Sub
在调试器中:
虽然这确实有效:
Public Sub tester()
Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(1, 7)).Font.Color = RGB(200, 100, 0)
End Sub
这里发生了什么? myRange 不是一个范围吗? 它似乎不想分配。 如何执行这种操作,即将范围放入变量中,然后使用该变量来引用它?
分配不包含可靠地通知我的“设置”运算符。 这将起作用:
Public Sub tester()
Dim myRange As Range
Set myRange = Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(1, 7))
myRange.Font.Color = RGB(200, 100, 0)
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.