- みんなの回答 (13)
- 専門家の回答
みんなの回答
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 実際のデータはもっとたくさんの行数があるのですよね? そうなると結合セルの行数が違う場合、オートフィルではできませんので VBAになってしまいますが、一例です。 C列の結合行数はA列と一致しているという前提です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub 合計() 'この行から Dim i As Long, k As Long, endRow As Long endRow = Cells(Rows.Count, "B").End(xlUp).Row Application.ScreenUpdating = False Range("A:A").UnMerge For i = 2 To endRow If Cells(i, "A") = "" Then Cells(i, "A") = Cells(i - 1, "A") End If Next i For i = 2 To endRow Cells(i, "C") = WorksheetFunction.SumIf(Range("A:A"), Cells(i, "A"), Range("B:B")) Next i Application.DisplayAlerts = False For i = 2 To endRow If Cells(i, "A") = Cells(i - 1, "A") Then k = i Do While Cells(k, "A") = Cells(i, "A") k = k + 1 Loop Range(Cells(i - 1, "A"), Cells(k - 1, "A")).Merge i = k End If Next i Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m
お礼
ご回答ありがとうございます。 簡単に合計を出すことができました。
補足
同じような表で、B列とC列に数字があり、B列とC列の合計を結合セルのD列に表示させたい場合は、どのようなマクロになるのでしょうか。