エクセルVBAマクロを自動作成する無料アプリです。
例として、アプリで「表の空白行ごとに合計を入れる」VBAマクロを作成します。
事例 E列の空白行に合計を入れます
マクロを実行すると、合計が表示されました。
アプリの設定
アプリへのリンク ⇒空白セルに合計(SUBTOTAL関数)を入力
【ポイント】
■ 最終行にも合計をいれるため、範囲の最終行は「最終行の一つ下」を選びます。
表示されるVBAコード
アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。
VBAコードを見る
Sub デモ() '空白に合計
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False ' 警告表示を停止
Dim セル範囲 As String, セル As Range, 右下セル As String
Sheets("Sheet1").Select
'表の最終行を決定
Dim 最終行 As Long
最終行 = Cells(Rows.Count, Range("e2").Column).End(xlUp).Row + 1
セル範囲 = "e2" & ":" & Cells(最終行, Range("e2").Column).Address(False, False)
Range(セル範囲).Select
Dim 左端列 As Long, 上端行 As Long, セル範囲配列(), 行 As Long, 列 As Long, 基準 As Long, セル値 As String
左端列 = ActiveCell.Column
上端行 = ActiveCell.Row
If Range(セル範囲).Cells.Count = 1 Then
Exit Sub
End If
セル範囲配列 = Range(セル範囲)
For 列 = LBound(セル範囲配列, 2) To UBound(セル範囲配列, 2)
基準 = 上端行
For 行 = LBound(セル範囲配列, 1) To UBound(セル範囲配列, 1)
セル値 = セル範囲配列(行, 列)
If セル値 = "" Then
Cells(行 + 上端行 - 1, 列 + 左端列 - 1).Offset(0, 0).Select
Selection.Formula = "=SUBTOTAL(9," & Cells(基準, 列 + 左端列 - 1).Address & ":" & Cells(行 + 上端行 - 2, 列 + 左端列 - 1).Address & ")"
基準 = 行 + 上端行
End If
Next 行
Next 列
Application.DisplayAlerts = True ' 警告表示を再開
Application.ScreenUpdating = True ' 画面描画を再開
End Sub
ChatGPTで修正
あなたが自動化したい内容と事例が少し異なる場合は、無料で使えるマイクロソフトの「BingAIチャット」でコードを修正します。とても簡単です!