エクセルVBAマクロを自動作成する無料アプリです。
例として「数行おきに行を削除する」VBAマクロを作成します。
事例 3行おきに削除する
マクロを実行すると、指定した行が削除されました。
アプリの設定
アプリへのリンク ⇒数行おきに行(列)を挿入/削除する
※ アプリの「右上のセル」は、一番上の削除する行を指定します。
(表の一番上ではありません)
※処理する間隔は、処理前の表で、前回の処理から、次の処理を、何行目で行うかを指定します。(例では、初回のA2から数えて、3行目のA5セルで次の処理を行います)
表示されるVBAコード
アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。
VBAコードを見る
Sub デモ_2() '数行おきに、挿入/削除する
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False ' 警告表示を停止
Dim セル範囲 As String, セル As Range, 右下セル As String
Sheets("sheet1").Select
セル範囲 = "a2:a15"
Range(セル範囲).Select
Dim 先頭セル As Range, 最終セル As Range
Set 先頭セル = Selection(1)
Set 最終セル = Selection(Selection.Count)
'作業列を挿入
先頭セル.EntireColumn.Insert Shift:=xlToRight
'対象セルの作業列に1をいれる
Dim 対象行 As Long
For 対象行 = 先頭セル.Row To 最終セル.Row Step 3
Cells(対象行, 先頭セル.Column - 1).Rows("1:2").Value = 1
Next 対象行
'作業行の値が、1の行を削除
For 対象行 = 最終セル.Row To 先頭セル.Row Step -1
If Cells(対象行, 先頭セル.Column - 1).Value = 1 Then
Cells(対象行, 先頭セル.Column - 1).EntireRow.Delete
End If
Next 対象行
'作業列を削除
Range("a2").EntireColumn.Delete Shift:=xlToLeft
Application.DisplayAlerts = True ' 警告表示を再開
Application.ScreenUpdating = True ' 画面描画を再開
End Sub
ChatGPTで修正
あなたが自動化したい内容と事例が少し異なる場合は、無料で使えるマイクロソフトの「BingAIチャット」でコードを修正します。とても簡単です!