即時視窗
如果你想測試一行巨集程式碼而無需執行整個子程式碼,你可以直接在立即視窗中鍵入命令並點選 ENTER
來執行該行。
要測試線的輸出,可以在其前面加上問號 ?
,直接列印到立即視窗。或者,你也可以使用 print
命令列印輸出。
在 Visual Basic 編輯器中,按 CTRL + G
開啟立即視窗。要將當前選定的工作表重新命名為 ExampleSheet
,請在立即視窗中鍵入以下內容,然後單擊 ENTER
ActiveSheet.Name = "ExampleSheet"
直接在立即視窗中列印當前選定的工作表名稱
? ActiveSheet.Name
ExampleSheet
在程式碼中實現內建函式或使用者定義函式之前,此方法非常有用。下面的示例演示了立即視窗如何用於測試函式或一系列函式的輸出以確認預期。
'In this example, the Immediate Window was used to confirm that a series of Left and Right
'string methods would return the desired string
'expected output: "value"
print Left(Right("1111value1111",9),5) ' <---- written code here, ENTER pressed
value ' <---- output
立即視窗還可用於設定或重置應用程式,工作簿或其他所需屬性。如果你在一個意外丟擲錯誤的子程式中有 Application.EnableEvents = False
而導致它關閉而不將值重置為 True
(這可能會導致令人沮喪和意想不到的功能),這可能很有用。在這種情況下,命令可以直接輸入到立即視窗並執行:
? Application.EnableEvents ' <---- Testing the current state of "EnableEvents"
False ' <---- Output
Application.EnableEvents = True ' <---- Resetting the property value to True
? Application.EnableEvents ' <---- Testing the current state of "EnableEvents"
True ' <---- Output
對於更高階的除錯技術,冒號:
可用作行分隔符。這可以用於多行表示式,例如下面示例中的迴圈。
x = Split("a,b,c",","): For i = LBound(x,1) to UBound(x,1): Debug.Print x(i): Next i '<----Input this and press enter
a '<----Output
b '<----Output
c '<----Output