千萬別是單純打字描述問題,要用丟照片的方法:
圖1.資料(準備好截圖)
圖2.貼到對話框
說明:詳參我跟ai對談的內容(Excel VBA 實現 AVERAGE、RANGE、STD 計算)。
圖3.開發人員
動作:點選檢視程式碼
如果沒有開發人員,請參考安全設定的檔案。
圖4.貼上程式碼
圖5.找到巨集
圖6.點選執行
圖7.完成
------------------------------------------------------------------------------------------------------------------------------------
參考提問方式:
Excel VBA 實現 AVERAGE、RANGE、STD 計算
根據你提供的 Excel 範例,假設你要計算每一列(Row 2~10)數值的平均(AVERAGE)、極差(RANGE)、標準差(STD),並將結果分別顯示在
K、L、M 欄。
VBA 程式範例
以下為完整範例程式,會自動計算每一列的平均、極差與標準差:
Sub
CalcStats()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets(1) '假設工作表為第一個
Dim lastRow As Long, lastCol As Long
Dim i As Long
Dim rng As Range
lastRow = ws.Cells(ws.Rows.Count,
1).End(xlUp).Row '找到最後一行
lastCol = ws.Cells(1,
ws.Columns.Count).End(xlToLeft).Column '找到最後一列
For i = 2 To lastRow
' 取A~J欄(第1~10欄)
Set rng = ws.Range(ws.Cells(i,
1), ws.Cells(i, 10))
' 平均
ws.Cells(i, 11).Value =
WorksheetFunction.Average(rng)
' 極差
ws.Cells(i, 12).Value =
WorksheetFunction.Max(rng) - WorksheetFunction.Min(rng)
' 標準差
ws.Cells(i, 13).Value =
WorksheetFunction.StDev(rng)
Next i
End Sub
說明
·
WorksheetFunction.Average(rng):計算平均值[1][2]。
·
WorksheetFunction.Max(rng) -
WorksheetFunction.Min(rng):計算極差(最大值減最小值)[3]。
·
WorksheetFunction.StDev(rng):計算標準差[4][5]。
·
ws.Cells(i, 11)、ws.Cells(i, 12)、ws.Cells(i, 13) 分別對應 K、L、M 欄。
步驟
1. 打開 Excel,按下 Alt + F11 進入 VBA 編輯器。
2.
插入一個新模組,貼上上方程式。
3. 關閉 VBA 編輯器,回到 Excel,按下 Alt + F8 執行 CalcStats 巨集。
參考來源
·
VBA 計算極差(RANGE):[3]
如需針對欄(每一個變數)計算平均、極差、標準差,只需將迴圈改為以欄為主,範圍改成每一欄的數值即可。