公共變數 理解VBA變數宣告 進入程式設計第一步

2021-10-14 16:52:24 字數 1679 閱讀 8577

宣告變數,就是像製造了乙個盒子,這個盒子有他的名稱,叫做變數名,有他的外觀,叫做資料型別,盒子裝有東西,叫做變數的值。這個盒子放在哪個位置叫做作用域,比如 public,private,static 。宣告變數時,通常使用 dim 語句。 宣告語句可以置於建立過程中以建立過程級變數。 也可以置於宣告部分的模組頂部,以建立模組級變數。下面的示例建立變數並指定 string 資料型別。

dim name as string
如果該語句出現在某個過程中,那麼只能在該過程中使用變數 name。 如果語句出現在模組的宣告部分,則變數 name 可用於該模組內的所有過程,但不適用於專案中其他模組內的過程。

若要使此變數適用於專案中的所有過程,請在其前面新增 public 語句,如以下示例所示:

public name as string
變數可以宣告為以下資料型別之一:boolean、byte、integer、long、currency、single、double、date、string(適用於可變長度的字串)、string * length(適用於固定長度的字串)、object 或 variant。 如果不指定資料型別,則預設分配 為variant 資料型別。 此外,你也可以使用 type 語句建立使用者定義的型別。你可在乙個語句中宣告多個變數。 若要指定資料型別,必須為每個變數包括資料型別。在下面的語句中,變數 intx、inty 和 intz 宣告為 integer 型別。

dim intx as integer, inty as integer, intz as integer
在下面的語句中,intx 和 inty 都宣告為 variant 型別;只有 intz 宣告為 integer 型別。

dim intx, inty, intz as integer
你不需要在宣告語句中提供變數的資料型別。 如果省略資料型別,變數將為 variant 型別。

可以使用 public 語句宣告公共模組級變數。

public name as string

可以在專案中的任何過程中使用公共變數。 如果在標準模組或類模組中宣告公共變數,則還可以在引用宣告該公共變數專案的任何專案中使用該變數。可以使用 private 語句宣告私有模組級變數。private name as string, 私有變數僅能由相同模組中的過程使用。當使用 static 語句而非 dim 語句來宣告過程中的變數時,宣告的變數將在該過程的兩次呼叫之間保留其值。通過在賦值語句中使用乙個變數,即可在 visual basic 中隱式宣告此變數。 隱式宣告的所有變數都是 variant 型別。 相比大多數其他變數,variant 型別變數需要更多的記憶體資源。 如果顯式宣告變數並使用特定的資料型別,應用程式將更加高效。 顯式宣告所有變數可以減少命名衝突錯誤和拼寫錯誤的發生。如果不希望 visual basic 進行隱式宣告,可在任何過程之前將 option explicit 語句置於模組中。 此語句要求顯式宣告模組內的所有變數。 如果模組包含 option explicit語句,那麼當 visual basic 遇到乙個之前沒有宣告的變數名或拼寫錯誤的變數名時,就會發生編譯時錯誤。你可以在 visual basic 程式設計環境中設定乙個選項,以便在所有新模組中自動包含 option explicit 語句。

VBA 宣告變數

vba 中的變數根據其不同的作用域級別,分為公共變數 模組級變數和本地變數 3 種。不同的變數有不同的宣告方法。1 公共變數需在模組的第乙個過程前用 public 語句宣告。示例 如下 option explicit public grade as integer subtest range b2 ...

宣告變數 VBA宣告的變數為何在其他模組無法使用?

我們有時需要跨模組使用同乙個變數,那麼為什麼會出現無法使用的情況呢?這時就需要我們在宣告變數的時候,提前確認好變數的作用域。變數的作用域 如何定義變數的作用域 首先,介紹一下我們作用域的概念。變數的作用域標誌著我們可以在哪些地方使用這個變數。變數分為3種作用域 1 單個過程 在乙個過程中宣告的變數,...

js 理解變數宣告提前

console.log a 不會出錯,會輸出undefined var a 100 console.log a 100 由於從上往下執行時遇見了var,所以實際執行順序 var a 宣告提前 console.log a undefined a 100 賦值任然留在原位置 console.log a ...