什么是Option Explicit VBA中"Option Explicit"是一個語句,您可以在模塊的開頭使用它來強制自己聲明所有變量。添加此語句時,VBA 會在執(zhí)行代碼時顯示編譯錯誤,并突出顯示代碼中需要聲明的變量。 當您在一個VBA程序模塊的開頭添加"Option Explicit"強制變量聲明語句時, VBA在其下方添加一個分隔線,然后您可以開始編寫VBA程序過程了。 Option Explicit Sub DEMO()str = "神奇的VBA"MsgBox strEnd Sub 當您設(shè)置了強制變量聲明后,VBA程序運行時,會自動檢查是否存在未聲明的變量,如有,會彈窗顯示一條錯誤消息。以上是未聲明變量時收到的消息。 激活VBA中的Option Explicit 聲明 要激活強制變量聲明檢查,請使用以下步驟。 1.首先,打開 Visual Basic 編輯器,然后在工具菜單中單擊選項。 2.之后,在選項中,轉(zhuǎn)到編輯器選項卡并勾選標記“要求變量聲明(R)”。 3.最后,單擊“確定”。 執(zhí)行此操作后,VBA 將在添加新模塊時顯式添加“Option Explicit”語句。 但它不會將此語句添加到現(xiàn)有模塊中,因此您需要將它們逐個手動添加到每個現(xiàn)有模塊中。 如何手動添加? Option Explicit 語句必須位于模塊中的第一個過程(Sub 或Function)之前。因此,您需要在第一個過程上方(通用聲明區(qū)域)添加此語句,并僅添加一次。 如果您將Option Explicit 語句置于一個過程中或兩個過程之間,那么當您嘗試執(zhí)行模塊中的任何代碼時,VBA 將彈窗顯示錯誤。 為什么使用“Option Explicit”語句是一個好習(xí)慣? 《神奇的VBA》向您展示一個示例,以幫助您理解為什么強烈建議使用“Option Explicit”語句是一個好習(xí)慣。請看下面的代碼。 Sub DEMO()str = "神奇的VBA"MsgBox stEnd Sub 在此代碼中,我將變量“str”聲明為字符串,然后定義了此變量的值。最后,我使用了消息框來顯示該變量值,如果您仔細觀察,我已將該變量錯誤拼成了“st”而不是“str”。 現(xiàn)在,當我運行此代碼時,它會向我顯示一個空白消息框,輸出結(jié)果完全不符合預(yù)期。 哪個環(huán)節(jié)出了問題? 在沒有使用“Option Explicit”語句或者沒有勾選“要求變量聲明(R)”時,當我輸入錯誤的變量名稱時,VBA將其作為單獨的變量,它不會向我顯示錯誤。這就是消息框顯示空白的原因。該變量沒有被賦值。現(xiàn)在想一想;如果您正在編寫冗長的代碼并且不使用“Option Explicit”語句,那么該錯誤很難在運行時進行追蹤。 但是使用設(shè)置了“Option Explicit”語句,當我運行此代碼時,它顯示錯誤。 Option Explicit--------------------------------------------------------------------Sub DEMO()Str = "神奇的VBA"MsgBox stEnd Sub 原創(chuàng)碼字不易歡迎"點贊","轉(zhuǎn)發(fā)" 或點擊"在看" |
|
來自: 神奇的ExcelVBA > 《待分類》