你是否曾經在 Excel 做報表時遇到這種情況:

  • 拖曳公式計算總價,但空白欄位出現 0,報表看起來不美觀
  • 資料經常新增,每次都要手動拖曳公式,非常浪費時間

別擔心!這次將分享一個 Excel VBA 自動套用公式技巧,不僅可 自動計算價格 × 數量 (新增或修改資料時,自動計算總價),還能讓 空白欄位不顯示 0 (只有當價格、數量都有值時才顯示計算結果),讓你的 Excel 報表瞬間專業又整齊,且不再需要手動拖曳公式,新增列也自動套用。

 

【Excel-VBA】Excel 報表必學技巧:讓 Exce步驟 1:開啟Visual Basic編輯畫面


1.本次示範輸入「價格」及「數量」的值,即會自動計算出「總價」。請先點選要設定自動套用公式的Excel工作表,以此範例為來說,請點選「工作表1」(如下圖箭頭所指處):

【Excel-VBA】Excel 報表必學技巧:讓 Exce

 

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

【Excel-VBA】Excel 報表必學技巧:讓 Exce

【Excel-VBA】Excel 報表必學技巧:讓 Exce

 

 

【Excel-VBA】Excel 報表必學技巧:讓 Exce步驟 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.如下圖所示:
【Excel-VBA】Excel 報表必學技巧:讓 Exce

 

 

【Excel-VBA】Excel 報表必學技巧:讓 Exce步驟 3:測試公式


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

【Excel-VBA】Excel 報表必學技巧:讓 Exce

 

 

【Excel-VBA】Excel 報表必學技巧:讓 Exce步驟 4:新增資料自動套用公式


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

【Excel-VBA】Excel 報表必學技巧:讓 Exce

 

 

【Excel-VBA】Excel 報表必學技巧:讓 Exce總結


本次分享功能適用於製作商品訂單、庫存管理報表、成本計算、損益表,以及任何需要「自動計算但保留空白」的 Excel 報表。這個 VBA 小技巧簡單又實用,適合經常新增資料且希望提升報表計算效率及正確率的 Excel 使用者。

 

 

 

以上簡單介紹分享給大家~

 

 

 

§延伸閱讀:Excel VBA之基礎概念介紹

§延伸閱讀:Excel必學~重複性工作就讓巨集來完成!

§延伸閱讀:開始學習撰寫Excel VBA程式-插入「模組」、建立「程序」以及實際「執行」

§延伸閱讀:微軟官網「Office 的 VBA 入門」介紹

 

 

創作者介紹
創作者 小 i  的頭像
小 i

「i」學習

小 i 發表在 痞客邦 留言(0) 人氣()