Excel VBA 初心者の為の入門講座のホームページです

Excel VBA 入門講座


5.セルの削除(範囲・行・列)

セルの削除にはDeleteメソッドを使用します。引数により削除後のセルのシフト方向を指定することができます。

メソッド引数定数内容
DeleteShiftxlShiftToLeft左方向にシフト
xlShiftUp上方向にシフト

引数を指定しない場合、【行数 = 列数】の場合は削除後、上方向にシフトします。 【行数 < 列数】の場合は左方向にシフトし、【行数 > 列数】の場合は削除後、上方向にシフトします。
セルの行または列を選択範囲とする場合、行の場合は削除後、上方向にシフトし、 列の場合は削除後、左方向にシフトします。


'アクティブなシートのセルB1〜D3の範囲の削除(行数=列数なので上方向にシフト)
Sub DeleteCell()
    Range(Cells(1,2),Cells(3,4)).Delete
End Sub

'アクティブなシートのセルB1〜D3の範囲の削除(行数>列数なので左方向にシフト)
Sub DeleteCell()
    Range("B1:D4").Delete
End Sub

'Sheet1のセルB1〜D3の範囲の削除(行数<列数なので上方向にシフト)
Sub DeleteCell()
     Worksheets("Sheet1").Activate
     Worksheets("Sheet1").Range(Cells(1,2),Cells(3,5)).Delete
End Sub

'Sheet1のセルB1〜D3の範囲の削除(引数により上方向にシフト)
Sub DeleteCell()
     Worksheets("Sheet1").Activate
     Worksheets("Sheet1").Range("B1:D4").Delete Shift := xlShiftUp 
End Sub

'Sheet1のセルB1〜DEの範囲の削除(引数により左方向にシフト)
Sub DeleteCell()
     Worksheets("Sheet1").Activate
     Worksheets("Sheet1").Range(Cells(1,2),Cells(3,5)) _
		.Delete Shift:=xlShiftToLeft
End Sub



'アクティブなシートの1〜3行目を削除後、上方向にシフト	
Sub DeleteCell()
    Range(Cells(1,2),Cells(3,4)).EntireRow.Delete
End Sub

'アクティブなシートの1〜3行目を削除後、上方向にシフト
Sub DeleteCell()
    Range("B1:D5").EntireRow.Delete
End Sub

'Sheet1の1〜3行目を削除後、上方向にシフト
Sub DeleteCell()
     Worksheets("Sheet1").Activate
     Worksheets("Sheet1").Range(Cells(1,2),Cells(3,4)) _
                        .EntireRow.Delete
End Sub

'Sheet1の1〜3行目を削除後、上方向にシフト
Sub DeleteCell()
     Worksheets("Sheet1").Activate
     Worksheets("Sheet1").Range("B1:D3").EntireRow.Delete
End Sub

'アクティブなシートの1〜3列目を削除後、左方向にシフト	
Sub DeleteCell()
    Range(Cells(1,2),Cells(3,4)).EntireColumn.Delete
End Sub

'アクティブなシートの1〜3列目を削除後、左方向にシフト	
Sub DeleteCell()
    Range("B1:D3").EntireColumn.Delete
End Sub

'アクティブなシートの1〜3列目を削除後、左方向にシフト	
Sub DeleteCell()
     Worksheets("Sheet1").Activate
     Worksheets("Sheet1").Range(Cells(1,2),Cells(3,4)) _
		.EntireColumn.Delete
End Sub

'アクティブなシートの1〜3列目を削除後、左方向にシフト	
Sub DeleteCell()
     Worksheets("Sheet1").Activate
     Worksheets("Sheet1").Range("B1:D3").EntireColumn.Delete
End Sub
Copyright (C) pc-users.net, All Rights Reserved.