你是否曾經在 Excel 做報表時遇到這種情況:
- 拖曳公式計算總價,但空白欄位出現 0,報表看起來不美觀
- 資料經常新增,每次都要手動拖曳公式,非常浪費時間
別擔心!這次將分享一個 Excel VBA 自動套用公式技巧,不僅可 自動計算價格 × 數量 (新增或修改資料時,自動計算總價),還能讓 空白欄位不顯示 0 (只有當價格、數量都有值時才顯示計算結果),讓你的 Excel 報表瞬間專業又整齊,且不再需要手動拖曳公式,新增列也自動套用。
步驟 1:開啟Visual Basic編輯畫面
1.本次示範輸入「價格」及「數量」的值,即會自動計算出「總價」。請先點選要設定自動套用公式的Excel工作表,以此範例為來說,請點選「工作表1」(如下圖箭頭所指處):

2.接著請按滑鼠右鍵,然後點選「檢視程式碼」(如下圖箭頭所指處):


步驟 2:貼上 VBA 程式碼
1.將下列程式碼貼入在上一個步驟開啟的程式碼編輯視窗中:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LastRow As Long
' 只在 A 或 B 欄變動時才更新公式
If Not Intersect(Target, Me.Range("A:B")) Is Nothing Then
Application.EnableEvents = False
LastRow = Me.Cells(Me.Rows.Count, "A").End(xlUp).Row
' 空白欄位不顯示 0
Me.Range("C2:C" & LastRow).Formula = "=IF(OR(A2="""",B2=""""),"""",A2*B2)"
Application.EnableEvents = True
End If
End Sub
2.如下圖所示:

步驟 3:測試公式
在 A、B 欄輸入數值,C 欄會自動計算結果,如若 A 或 B 欄空白,C 欄則會保持空白,示範如下圖:

步驟 4:新增資料自動套用公式
在最後一列再新增價格與數量的值,C 欄會自動套用公式計算總價,不必再手動拖曳公式,示範如下圖:

總結
本次分享功能適用於製作商品訂單、庫存管理報表、成本計算、損益表,以及任何需要「自動計算但保留空白」的 Excel 報表。這個 VBA 小技巧簡單又實用,適合經常新增資料且希望提升報表計算效率及正確率的 Excel 使用者。
以上簡單介紹分享給大家~
§延伸閱讀:Excel VBA之基礎概念介紹
§延伸閱讀:Excel必學~重複性工作就讓巨集來完成!
§延伸閱讀:開始學習撰寫Excel VBA程式-插入「模組」、建立「程序」以及實際「執行」
§延伸閱讀:微軟官網「Office 的 VBA 入門」介紹
留言列表