表に記載してある「東京都」と「大阪府」の数字(都道府県名はB列、数字はC列に記載)を足し合わせ、最後に「東京都〇,大阪府〇」(〇はそれぞれの合計値)と表示するマクロを作成したいのですが、「実行時エラー1004 アプリケーション定義またはオブジェクト定義のエラーです」と出てしまいます。
どこが間違えているのか、教えて頂けますでしょうか?
なお、表にはB列に東京都や大阪府が下に値が追加された場合でもコードを修正しなくてよいように作成したいです。そのため、For文のiの範囲を2から最終行の値までに設定しているのですが、このあたりのループ分の書き方も合っているか教えて頂けますと幸いです。
VBA
1Sub Count() 2 3 Dim ws As Worksheet 4 5 Set ws = Worksheets("集計") 6 7 Dim i As Long 8 9 Dim TokyoTotal As Long 10 11 Dim OsakaTotl As Long 12 13 14 For i = 2 To 1048576 15 16 TokyoTotal = WorksheetFunction.SumIf(ws.Cells(1, 2), "東京", ws.Cells(i, 3)) 17 18 OsakaTotal = WorksheetFunction.SumIf(ws.Cells(1, 2), "大阪", ws.Cells(i, 3)) 19 20 Next i 21 22 23 If ws.Cells(i, 2).Value = "東京" Or ws.Cells(i, 2).Value = "大阪" Then 24 25 '何もしない 26 Else 27 28 MsgBox "正しく入力してください" 29 30 End If 31 32 33 MsgBox "東京" & TokyoTotal & "," & "大阪" & OsakaTotal 34 35 36End Sub 37
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。