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列目から最終列までを削除します。
この記事がお役に立ちますと幸いです。
「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!