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)自動偵測最後資料行,避免硬編碼。搭配樞紐分析表自動化,可一鍵生成多維報表。
沒有留言:
張貼留言