MENU

数行おきに行を削除する

無料アプリで、すぐにエクセルVBAマクロを作成できます。

例として、アプリで「数行おきに行を削除する」VBAマクロを作成します。

(ページの末尾に、VBAコード掲載)

処理のイメージ

事例

3行おきに2行ある(削除の文字がある)します。

マクロを実行すると、指定した行が削除されました。



アプリの設定

アプリのトップページ

 ⇒▼行・列

 ⇒【ツール】数行おきに、挿入/削除する

※ アプリの「右上のセル」は、一番上の削除する行を指定します。

(表の一番上ではありません)

処理する間隔は、処理前の表で、前回の処理から、次の処理を、何行目で行うかを指定します。(例では、初回のA2から数えて、行目のA5セルで次の処理を行います)

表示されるVBAコード 

アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。

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

マクロを使うメリット

手作業で数分かかる作業が、1秒で終わります。

ぜひ、アプリをご利用ください。

 

アプリはこちらから↓↓↓↓