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

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




【VBA】WorksheetFunction.SumIfsの使い方の例。複数の条件に合う数値を合計する。




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

 

今回はVBAで、WorksheetFunction.SumIfsの使い方の例として、複数の条件に合う数値を合計するマクロを作成してみました。

 

<元データ>

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

 

<マクロ実行後>

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

 

 

 

 スポンサーリンク

 

 

ソースコード

Sub sumif()

Dim macro As Object
Set macro = Workbooks(1).Worksheets(1)

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

Dim rng1, rng2, rng3 As Range
Set rng1 = macro.Range("A4:A" & lastrow)
Set rng2 = macro.Range("B4:B" & lastrow)
Set rng3 = macro.Range("C4:C" & lastrow)


Dim kyotenn(1 To 3) As String
kyotenn(1) = "仙台"
kyotenn(2) = "東京"
kyotenn(3) = "大阪"

Dim kamoku(1 To 3) As String
kamoku(1) = "消耗品費"
kamoku(2) = "荷造運賃費"
kamoku(3) = "新聞図書費"



For i = 4 To 6

macro.Range("F" & i) = WorksheetFunction.SumIfs(rng3, rng1, kyotenn(1), rng2, kamoku(i - 3))

Next

For j = 9 To 11

macro.Range("F" & j) = WorksheetFunction.SumIfs(rng3, rng1, kyotenn(2), rng2, kamoku(j - 8))

Next


For k = 14 To 16

macro.Range("F" & k) = WorksheetFunction.SumIfs(rng3, rng1, kyotenn(3), rng2, kamoku(k - 13))

Next


End Sub

 

<参照させていただいたサイト>

https://vba-gas.info/excel-vba-sum

https://www.excelspeedup.com/vbaarray/#i-4

 

 

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

 

 スポンサーリンク