vbaの速度向上(sumif関数)
エクセルvbaの速度を向上できないか、お知恵を貸していただきたく存じます。
以下のvba(sumif関数)をもっと速めたいです。何とかできないでしょうか。長い記載となり申し訳ないのですが、何卒よろしくお願い申し上げます。
myCnt7 = 2
Do
Worksheets("●").Cells(myCnt7, 4).Value = WorksheetFunction.SumIf(Worksheets("◆").Range("B:R"), Worksheets("●").Cells(myCnt7, 3), Worksheets("◆").Range("R:R")) - WorksheetFunction.SumIf(Worksheets("★").Range("B:C"), Worksheets("●").Cells(myCnt7, 3), Worksheets("★").Range("C:C"))
Worksheets("●").Cells(myCnt7, 7).Value = WorksheetFunction.SumIf(Worksheets("◆").Range("B:R"), Worksheets("●").Cells(myCnt7, 6), Worksheets("◆").Range("R:R")) - WorksheetFunction.SumIf(Worksheets("★").Range("B:C"), Worksheets("●").Cells(myCnt7, 6), Worksheets("★").Range("C:C"))
Worksheets("●").Cells(myCnt7, 10).Value = WorksheetFunction.SumIf(Worksheets("◆").Range("B:R"), Worksheets("●").Cells(myCnt7, 9), Worksheets("◆").Range("R:R")) - WorksheetFunction.SumIf(Worksheets("★").Range("B:C"), Worksheets("●").Cells(myCnt7, 9), Worksheets("★").Range("C:C"))
Loop While myCnt7 > 201
※シート●のC列から3列ごとに、Sumifの検索条件があります。
※シート●のD列から4列ごとに、Sumifの計算結果を出力させます。
※計算対象シートは、シート◆とシート★の2つです。
シート◆のSumif合計から、シート★のSumif合計を差し引いています。
Sumifの条件自体は、どちらのシートも同じ(シート●)。
※上記のSumif関数の記述は、3つですが、実際の記述は24あります。
※すなわち、検索条件の組み合わせが24あり、201行分をmyCnt7でLoopさせて実行しています。
お礼
出会いが出合いになってました。ありがとうございました。
補足
うまくいかないです。引き続きよろしくお願いいたします。