如何在 Excel 中使用變數:類型、範圍和詳細範例

最後更新: 21/05/2025
作者: 艾薩克
  • 了解如何以及何時使用 Excel 和 VBA 中的每種類型的變數來最佳化您的巨集和公式。
  • 區分不同的範圍和持續時間以避免錯誤並最大限度地利用記憶體和效能。
  • 發現最佳實踐和新功能,例如 LET 函數和在專業插件中使用變數。

高強

簡單來說, 變量 它是一個被賦予名稱的記憶體空間,用於存儲 暫時訊息 在 VBA 中執行巨集或程序時。把變數想像成一些小盒子,你可以給它們貼上標籤,並填滿任何你需要的資料:數字、文字、日期、操作結果等等。一旦你將值儲存在變數中,你就可以 參考它,修改它 並且可以在同一個巨集中甚至在專案的其他部分中根據需要多次使用它,具體取決於您如何聲明它。

Excel 中的變數的使用 優勢明顯:促進 資訊重用 (您不必多次詢問相同的資訊), 提升績效 你的巨集(透過避免不必要的計算或搜尋),以及 讓你的程式碼更清晰、更有條理、更易於維護.

Excel VBA 中的主要變數類型

使用 VBA 在 Excel 中處理變數時,一個重要的方面是選擇 適當的變數類型 您想要保存的資料。這被稱為 典型化變數,而且它比看起來更重要:良好的打字能力可以幫助你的程式碼更 高效避免錯誤,例如嘗試對姓名或日期進行數學運算。

VBA 中最常見的變數類型是:

  • 整型:適用於 -32.768 至 32.767 範圍內的整數。非常適合計數元素或保存年齡等值。
  • :適用於較大的整數,非常適合高總數或長標識符。
  • Double:對於十進制數,在需要 精確,以平均值和百分比表示。
  • Single:對於小於 精確 比 Double 更差,但在很多情況下已經足夠了。
  • :儲存文字字串,例如姓名、地址等。
  • 日期:用於日期和時間。
  • 布爾:對於值 對或錯,在驗證中非常有用。
  • 字節:對於小整數,從 0 到 255。
  • 變種:通配符類型允許您存儲 任何 資料類型。是 靈活,但它會消耗更多記憶體。

還有更多類型,包括一些專門的類型(例如 貨幣 為了錢),但在大多數巨集和個人功能中,前面的是最常用的。

如何在 Excel 中宣告變數以及最佳實踐

Excel 變數

宣告變數意味著 創建並定義它 您要保存什麼類型的資料。為此,使用以下指令 暗淡,是“Dimension”的縮寫。基本語法是:

Dim nombreDeVariable As TipoDeDato

例如,要建立一個變數來儲存某人的年齡,你可以這樣寫:

Dim Edad As Integer

您可以在一行上聲明多個相同類型的變數:

Dim x As Integer, y As Integer

非常重要: 如果在 Dim 指令中用逗號分隔多個名稱,則只有具有指定資料類型的變數才會使用它。。例如,在這一行中:

Dim x, y As Integer

可變的 y 將是整數類型,但是 x 將是類型 變種。 因此, 始終建議為每個變數指定資料類型.

  如何在 Office 中啟用對舊版巨集和 VBA 的支持

強烈建議使用以下指示 Option Explicit 在每個模組的開頭。這有助於 避免因名稱拼字錯誤或變數未初始化而導致的錯誤。如果省略 Option Explicit,VBA 可能會動態建立 Variant 變量,這會使您的程式碼更難維護。

變數的作用域:變數的使用範圍

El 範圍 變數定義了你可以從哪裡存取它。這取決於你在哪裡以及如何聲明它:

  • 過程範圍變數:如果你在 o 功能,僅在該程式內可用。其他巨集將無法看到或修改它。
  • 模組範圍(私有)變數:如果在任何過程之外但在模組內部聲明變量,則使用 暗淡 o 私人的,可由該模組中的任何程序訪問,但不能由其他模組訪問。
  • 公共(全域)範圍變數: 如果你使用 公共 要在程式之外聲明它,在模組的開頭,該變數將可供 專案的所有宏和模組。它們是變數 全球性.

公開聲明範例:

Public contador As Integer

過度使用全域變數 會使維修複雜化。建議將其使用限制於 最小可能範圍,在真正需要它們的地方。

可變持續時間及其初始化方法

另一個重要的考慮因素是 持續時間 變數的保留時間 。這取決於您的範圍和聲明:

  • 局部變數:它們是在程式開始時創建的,並在程式結束時被銷毀,從而丟失其資訊。
  • 模組和全域變數:只要項目開放,它們就存在,並在程序之間保留其價值。
  • 靜態變數 (聲明為 靜止): 它們在對過程的呼叫之間保留其最後的值,並且僅在該過程內。它們對於每次呼叫時都需要記住某些內容的函數非常有用。

靜態變數的範例:

Static acumulado As Integer

建立變數時,VBA 會自動使用預設值對其進行初始化:數字為零,字串為空(“”),變數類型為 變種空的.

在 Excel 巨集中使用變數的範例

為了說明以上所有內容,這裡有一個典型的實際範例:透過讀取電子表格中的數據來計算兩名學生的平均年齡。

  1. 定義資訊類型: 在這種情況下,兩個變數代表年齡,一個變數代表平均值。年齡將是整數,而平均值將是雙精確度數,因為它可以有小數。
  2. 將值保存在變數中: 透過單元格分配,例如 Range(«C5»).Value。
  3. 對變數執行運算並顯示結果: 透過呈現計算結果的 MsgBox。

程式碼如下:

Dim Edad1 As Integer
Dim Edad2 As Integer
Dim Promedio As Double
Edad1 = Range("C5").Value
Edad2 = Range("C6").Value
Promedio = (Edad1 + Edad2) / 2
MsgBox "El promedio de las edades es: " & Promedio

在此範例中使用變數 提高清晰度和效率 的代碼。

  Word 中自動刷新的動態網域:完整指南

VBA 中的物件變數和跨應用程式自動化

VBA 也允許 宣告變數來存儲物件的引用,如果你想要操作範圍、工作表、工作簿或其他應用程式的對象,這一點至關重要,例如 Word 或訪問。為此,使用關鍵字 套裝:

Dim hoja As Worksheet
Set hoja = ThisWorkbook.Sheets("Datos")

如果您需要從 Excel 自動化訪問,您可以聲明特定於物件或通用變量,只要您提供對相應庫的適當引用即可。此外,您還可以學習 在記事本中突出顯示語法 以提高 VBA 程式碼的可讀性。

Dim appAccess As Object
Set appAccess = CreateObject("Access.Application")

這種方法非常有效 多個 Office 應用程式之間的自動化和流程.

Variant 與其他類型變數之間的區別

方式 變種 可以儲存 任何 資料類型:數字、文字、日期等。其優點是 靈活性,但它的缺點是 消耗更多內存 並且可能產生難以檢測的錯誤。因此,大多數情況下,最好盡可能使用特定類型。

如果宣告變數時未指定類型(維度 x),VBA 會自動將其建立為 Variant。這在巨集中很有用 通用的,但一般來說,建議始終定義資料類型。

Crear un gráfico vectorial coloreado en Excel
Related article:
Cómo Crear Un Gráfico Vectorial En Excel. 3 Pasos A Seguir

報告模板和外掛程式中的變數(Qlik Sense 和其他)

在專業環境和連接工具(例如 Excel 報告中的 Qlik Sense)中,使用 變數和表達式 還有另一個維度。變數可以儲存為可重複使用的對象,從而允許從儀表板進行動態計算和標籤。

例如,您可以將腳本變數新增至外掛程式中,使用標籤從儲存格查詢它們,並從集中面板修改它們,並將變更傳播到整個報表。您還可以查看如何。

這些環境中常見的表達包括:

  • =Count(distinct):統計某個欄位中唯一值的數量。
  • = today():返回目前日期。
  • =year(now()):傳回執行時的目前年份。

您可以將本機 Excel 格式套用至這些變數和表達式,並從外掛程式面板管理它們的建立、修改或刪除。學習 根據行值隱藏行,您可以查閱有用的資源。

格式化並刪除 Excel 報表中的變數或表達式

具有變數和表達式的儲存格可以使用 Excel 格式進行自訂:樣式、顏色、數字格式等。這將反映在產生的報告中。若要刪除變數或表達式,只需從外掛程式面板中選擇儲存格並按一下「刪除」即可。這將刪除標籤和相關對象,也可以使用標準 Excel 函數刪除,留下空白儲存格以便插入新內容。

正確宣告變數:Dim、Public、Private、Static

變數的宣告方式決定了它的 範圍、不同執行中的持續時間和行為。主要選項有:

  • 暗淡:最常見的方式。如果在流程或模組外部聲明,則在流程或模組中建立局部變數。
  • 公共:全域變量,可在整個專案中存取。
  • 私人的:僅在聲明它們的模組內有效,不能從其他模組存取。
  • 靜止:在同一過程中的呼叫之間保留其值的局部變數。
  在 iPhone 和 iPad 上清除 Safari 購買記錄的正確方法

正確使用變數宣告有助於 避免程式碼中的錯誤、記憶體問題和混亂。如果您使用 Option Explicit,VBA 將要求您聲明所有變量,從而提供更強大、更專業的程式碼。

在 Excel 中使用變數的進階技巧和常見錯誤

如果您已經對 Excel 中的變數有一定的經驗,這些提示將幫助您改善:

  • 避免重複使用變數名 在不同的巨集或模組中,以防止因混淆或存取不當而導致的錯誤。
  • 變數在執行之間保留其值,在特定過程中使用靜態或在模組層級聲明變數。
  • 限制全域變數的使用因為它們會使資料流的維護和理解變得複雜。
  • 最好始終指定資料類型 而不是預設保留為 Variant。
  • 用於跨應用自動化,權威,使用類型良好的物件和正確的引用以避免不相容。
  • 注意每個變數的生命週期 以避免出現“幽靈”值或意外值。

常見錯誤及解決方法:

  • 將文字賦值給整數變量:產生類型錯誤。驗證類型是否與資料相對應。
  • 不要宣告變數 並出現拼字錯誤:使用 Option Explicit,編譯器將偵測到這些錯誤。
  • 期望局部變數保留其值 完成該過程後:請記住,完成後它們會被刪除。

最近更新:Excel 公式中的 LET 函數

最新版本的 Excel 中一個相關的創新是功能 LET,它允許您在公式中定義變量,而無需 VBA。它對於提高複雜計算的可讀性和效率非常有用。有關如何執行此操作的更多詳細信息,您可以查閱其他資源。

實踐中的變數和表達式:最終建議

有效管理 Excel 中的變數(無論是在巨集、報表或進階公式中)是一項可以提高您的工作效率和準確性的投資。良好的管理有助於創造解決方案 更安全、更易於維護、更有效率,並減少耗時的錯誤修復。

我們鼓勵您嘗試不同類型的變數、作用域和函數,並始終尋求平衡 靈活性和安全性。深入了解 Excel 中的變數將為您開啟廣泛的可能性,無論您是初學者、進階使用者還是專業人士。

在 Microsoft Word 中啟動 Copilot 以及它如何幫助我-7
相關文章:
終極指南:AI Credits 在 Microsoft 365 和 Copilot 中的工作原理(Word、Excel、PowerPoint、Outlook、Designer…)