繁体   English   中英

使用 VBA 中的 ActiveCell.Offset 函数将范围分配给范围变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM