ゴリラストロングの雑記帳

月収10万円の広告収入を目指す自称専業ライターのブログです。




【VBA】曜日別に集計するマクロを作成してみました。




どうも、ゴリラストロングです。

 

今回はVBAで、曜日別に集計するマクロを作成してみました。

 

<元データ>

f:id:gorilla-strong:20200424041836p:plain

 C列に曜日番号を求めます。

その番号をキーにして、F列にSUMIF関数で集計します。

 

<マクロ実行後>

f:id:gorilla-strong:20200424042048p:plain

 動作としては以上です。

 

ソースコード> 

Sub main()

Dim ws As Object
Set ws = ThisWorkbook.Worksheets(1)

Dim lastrow As Long
lastrow = ws.Cells(Rows.Count, 1).End(xlUp).Row

For i = 3 To lastrow

ws.Range("C" & i) = Weekday(ws.Range("A" & i))

Next

Dim rng1, rng2 As Range
Set rng1 = ws.Range("B3:B" & lastrow)
Set rng2 = ws.Range("C3:C" & lastrow)

Dim lastrow2 As Long
lastrow2 = ws.Cells(Rows.Count, 5).End(xlUp).Row

k = 2

For j = 3 To lastrow2

ws.Range("F" & j) = WorksheetFunction.SumIf(rng2, k, rng1)

k = k + 1

Next

ws.Range("F9") = WorksheetFunction.SumIf(rng2, 1, rng1) End Sub

 

以上、ゴリラストロングでした。