ExcelVBA 変数を使用して行削除・列削除:使用例11選

ExcelVBA

ExcelVBAで、変数を使用して行削除・列削除する方法をご紹介します。

動画では実際の動作を確認できます。

変数使用で行削除(特定行)

以下のマクロを実行すると、アクティブシートの指定行を削除します。


Sub 行を削除()

Dim Target As Long

    Target = 2

    ActiveSheet.Rows(Target).Delete

End Sub

アクティブシートの2行目を削除します。


 
 

変数使用で行削除(複数行)

以下のマクロを実行すると、アクティブシートの複数行を削除します。


Sub 行を削除()

Dim Target As Long

    Target = 2

    ActiveSheet.Range(Target & ":4").Delete

End Sub

アクティブシートの2行目から4行目を削除します。


 
 

変数使用で行削除(複数行)

以下のマクロを実行すると、アクティブシートの複数行を削除します。


Sub 行を削除()

Dim Row1 As Long
Dim Row2 As Long

    Row1 = 2
    Row2 = 4

    ActiveSheet.Rows(Row1 & ":" & Row2).Delete

End Sub

アクティブシートの2行目から4行目を削除します。


 
 

変数使用で行削除(離れた行)

以下のマクロを実行すると、離れた行を削除します。


Sub 行を削除()

Dim Row1 As Long
Dim Row2 As Long

    Row1 = 2
    Row2 = 4

    Union(Rows(Row1), Rows(Row2)).Delete

End Sub

アクティブシートの2行目と4行目を削除します。


 
 

変数使用で行削除(指定行以降)

以下のマクロを実行すると、指定行以降を削除します。


Sub 行を削除()

Dim Row1 As Long
Dim LastRow As Long

    '最終行
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row

    '削除開始行
    Row1 = 2

    '行削除
    ActiveSheet.Range(Row1 & ":" & LastRow).Delete

End Sub

アクティブシートの2行目から最終行までを削除します。


 
 

変数使用で行削除(指定行以降)

以下のマクロを実行すると、ループ処理で指定行以降を削除します。


Sub 行を削除()

Dim Row1 As Long
Dim LastRow As Long
Dim i As Long

    '削除開始行
    Row1 = 2
    
    '最終行
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row

    '最終行から削除開始行まで、逆ループ
    For i = LastRow To Row1 Step -1
    
        '行削除
        ActiveSheet.Rows(i).Delete
    
    Next i

End Sub

アクティブシートの最終行~2行目までループして、行を削除します。


 
 

変数使用で列削除(特定列)

以下のマクロを実行すると、アクティブシートの指定列を削除します。


Sub 列を削除()

Dim Target As String

    Target = "B"
    
    ActiveSheet.Columns(Target).Delete

End Sub

アクティブシートのB列を削除します。


 
 

変数使用で列削除(複数列)

以下のマクロを実行すると、アクティブシートの複数列を削除します。


Sub 列を削除()

Dim Target As String

    Target = "B"

    ActiveSheet.Range(Target & ":C").Delete

End Sub

アクティブシートのB列からC列を削除します。


 
 

変数使用で列削除(複数列)

以下のマクロを実行すると、アクティブシートの複数列を削除します。


Sub 列を削除()

Dim Clm1 As String
Dim Clm2 As String

    Clm1 = "B"
    Clm2 = "C"

    ActiveSheet.Range(Clm1 & ":" & Clm2).Delete

End Sub

アクティブシートのB列からC列を削除します。


 
 

変数使用で列削除(複数列)

以下のマクロを実行すると、アクティブシートの複数列を削除します。


Sub 列を削除()

Dim Clm1 As Long
Dim Clm2 As Long

    Clm1 = 2
    Clm2 = 4
    
    ActiveSheet.Range(Columns(Clm1), Columns(Clm2)).Delete

End Sub

アクティブシートのB列からD列を削除します。


 
 

変数使用で列削除(離れた列)

以下のマクロを実行すると、離れた列を削除します。


Sub 列を削除()

Dim Clm1 As Long
Dim Clm2 As Long

    Clm1 = "2"
    Clm2 = "4"
    
    Union(Columns(Clm1), Columns(Clm2)).Delete

End Sub

アクティブシートのB列とD列を削除します。


 
 

変数使用で列削除(指定列以降)

以下のマクロを実行すると、B列以降を削除します。


Sub 列を削除()

Dim Clm1 As String
Dim LastClm As Long
Dim Result As String

    '最終列
    LastClm = Cells(1, Columns.Count).End(xlToLeft).Column
    
    '最終列アルファベット
    Result = Split(Cells(1, LastClm).Address, "$")(1)

    '削除開始列
    Clm1 = "B"
    
    '列削除
    ActiveSheet.Range(Clm1 & ":" & Result).Delete

End Sub

アクティブシートの2列目から最終列までを削除します。


 
 
この記事がお役に立ちますと幸いです。
 

【エクセルマクロ】最終行まで削除する:使用例10選
...

 

「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!