【问题标题】:Is it possible to refer to Rg in With Rg是否可以在 With Rg 中引用 Rg
【发布时间】:2014-02-15 22:40:23
【问题描述】:

With Rg 可以引用 Rg 吗?我有一个很长的 with 语句,我想将 With 语句中指定的范围作为参数传递。这可能吗?

With rg.OffSet(0, -1).Resize(ColumnSize:=1)

    'set conditional format
    Call SetConditionalFormat(rg.OffSet(0, -1).Resize(ColumnSize:=1))

    'I tried this but it didn't work
    Call SetConditionalFormat(.range)

End With

当然,我可以简单地重复 rg.OffSet(0, -1).Resize(ColumnSize:=1) 或将其分配给一个变量,但我很好奇是否存在这样的事情来引用自己。

【问题讨论】:

    标签: vba excel with-statement


    【解决方案1】:

    我见过更漂亮的代码,但它确实有效;)

    With rg.Offset(0, -1).Resize(ColumnSize:=1)
    
        Call SetConditionalFormat(.Parent.Range(.Address))
    
    End With
    

    【讨论】:

    • 最好将工作表指定为:ThisWorkbook.Worksheets(.Parent.Name).Range(.Address)。顺便说一句,答案很好:)
    • @D_Bester,或者只是Call SetConditionalFormat(.Cells)
    • @simoco - 谢谢,我故意省略了工作表,因为我不知道他是否有变量,但肯定最好明确指定工作表。顺便说一句,你的比我的干净,你应该把它作为答案。
    【解决方案2】:

    如果是 Range 对象,您可以使用:

    Call SetConditionalFormat(.Cells)
    

    它不是自引用,但可以帮助您对目标对象进行操作。

    【讨论】:

    • 我要这个;我想不存在对 With 对象的自引用。
    • @D_Bester:不,没有。
    猜你喜欢
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 2022-07-07
    • 1970-01-01
    • 2023-01-10
    • 2021-04-13
    • 2022-07-05
    相关资源
    最近更新 更多