2025年12月30日 星期二

VBA 資料分析教學:DAY 10

 VBA範例:銷售資料清理與總計

此範例自動清理Excel銷售資料空白行、計算B欄銷售總額,並顯示於D欄,適用於每月報表自動化。

Sub CleanAndSumSales()

    Dim ws As Worksheet

    Dim i As Long, lastRow As Long

    Set ws = ThisWorkbook.Sheets("RawData")

    

    ' 清理空白行(從下往上避免索引錯亂)

    For i = ws.UsedRange.Rows.Count To 1 Step -1

        If Application.WorksheetFunction.CountA(ws.Rows(i)) = 0 Then

            ws.Rows(i).Delete

        End If

    Next i

    

    ' 動態抓取最後一行並計算總和

    lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row

    ws.Range("D1").Value = "總銷售額"

    ws.Range("D2").Value = Application.WorksheetFunction.Sum(ws.Range("B2:B" & lastRow))

End Sub

執行前:


執行後:



執行前按Alt+F11開啟VBA編輯器,新建模組貼上程式碼,按F5執行。常見錯誤為工作表名稱拼錯,使用錯誤處理On Error Resume Next可避免中斷。​

VBA應用解說

此程式結合迴圈刪除空白與動態範圍計算,提升資料清理效率20倍以上,適合製造業生產數據預處理。

​變數宣告Dim與物件設定Set確保穩定性;End(xlUp)自動偵測最後資料行,避免硬編碼。搭配樞紐分析表自動化,可一鍵生成多維報表。

沒有留言:

張貼留言

指數變化(2026.01.23) 開始透過AI做整理

  指數變化(2026.01.23) 開始透過AI做整理 上周焦點: 1/13消費者物價相關 美國消費者物價指數(CPI)年增率:2.7%(符合預期),月增率:0.3%。 美國核心CPI年增率:2.6%。 1/14企業庫存、房市、能源及房貸相關 美國企業庫存月增率:0.3%(10...