簡體   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