【发布时间】:2020-04-20 15:15:31
【问题描述】:
如果我在 VBA 中使用“With”关键字,我必须访问“With”被锁定的对象中的属性/方法。但是,我可以在“With”语句中引用对象本身吗?
F.e.,假设我有一个函数将范围作为输入。我还将“With”锁定在特定范围内,用于编辑该范围内的多个属性:
Function ViewCellColor(inputrange As Range)
' This function takes a range as input
MsgBox inputrange.Interior.Color
End Function
Sub Test()
With Range("A1")
.Select
.Interior.Color = vbRed
.Value = 10
.Font.Bold = True
Run ViewCellColor(Range("A1")) ' Use range as input to function
End With
End Sub
在这里,我想将范围本身传递给函数,但在这里我必须重新编写范围引用(A1)以传递函数参数。是否可以避免在此处重复键入范围引用?
【问题讨论】:
-
不,但您可以使用
.Range("A1")或.Cells(1)。 -
不需要
.Select -
urdearboy:我知道,这只是为了举例。