Sample Macro  クリア [基本型] Previous Next

1) すべてのセルの内容をクリア このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub すべてのセルの内容をすべてクリアする()
    Cells.Clear                                 '※1
    Sheets("SSS").Cells.Clear                   '※2
End Sub
'=================================================================================
<コメント>
※1 現在アクティブなシートに対して実行される
※2 SSSにはシート名(アクティブでなくても良い)を記入


2) 選択されたセル範囲の内容をクリア このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub 選択されたセル範囲の内容をすべてクリアする()
    Selection.Clear
End Sub
'---------------------------------------------------------------------------------
Sub 選択されたセル範囲の書式をクリアする()
    Selection.ClearFormats
End Sub
'---------------------------------------------------------------------------------
Sub 選択されたセル範囲の数式と値をクリアする()
    Selection.ClearContents
End Sub
'---------------------------------------------------------------------------------
Sub 選択されたセル範囲の値だけをクリアする()
    Selection.SpecialCells(xlConstants, 23).ClearContents
End Sub
'---------------------------------------------------------------------------------
Sub 選択されたセル範囲の数式だけをクリアする()
    Selection.SpecialCells(xlFormulas, 23).ClearContents
End Sub
'---------------------------------------------------------------------------------
Sub 選択されたセル範囲のコメントをクリアする()
    Selection.SpecialCells(xlFormulas, 23).ClearComments
End Sub
'=================================================================================
<コメント>
※1 これらのコードの前にセル範囲を選択するコードが必要


3) 指定のセル範囲の内容をクリア このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub 指定のセル範囲の内容をすべてクリアする()
    Range("A1:C5").Clear                        '※1、3
    Sheets("SSS").Range("A1:C5").Clear          '※2
End Sub
'---------------------------------------------------------------------------------
Sub 指定のセル範囲の書式をクリアする()
    Range("A1:C5").ClearFormats                 '※1、3
    Sheets("SSS").Range("A1:C5").ClearFormats   '※2
End Sub
'---------------------------------------------------------------------------------
Sub 指定のセル範囲の数式と値をクリアする()
    Range("A1:C5").ClearContents                '※1、3
    Sheets("SSS").Range("A1:C5").ClearContents  '※2
End Sub
'---------------------------------------------------------------------------------
Sub 指定のセル範囲の値だけをクリアする()
    Range("A1:C5").SpecialCells(xlConstants, 23).ClearContents '※1、3
    Sheets("SSS").Range("A1:C5").SpecialCells(xlConstants, 23).ClearContents '※2
End Sub
'---------------------------------------------------------------------------------
Sub 指定のセル範囲の数式だけをクリアする()
    Range("A1:C5").SpecialCells(xlFormulas, 23).ClearContents '※1、3
    Sheets("SSS").Range("A1:C5").SpecialCells(xlFormulas, 23).ClearContents '※2
End Sub
'---------------------------------------------------------------------------------
Sub 指定のセル範囲のコメントをクリアする()
    Range("A1:C5").ClearComments                '※1、3
    Sheets("SSS").Range("A1:C5").ClearComments  '※2
End Sub
'=================================================================================
<コメント>
※1 現在アクティブなシートに対して実行される
※2 SSSにはシート名(アクティブでなくても良い)を記入
※3 A1:C5にはクリアする範囲を記入


4) 複数のセル範囲の内容をクリア このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub 複数のセル範囲の内容をすべてクリアする()
    Range("A1:A5,C1:C5,E1:E5").Clear            '※1、3
    Sheets("SSS").Range("A1:A5,C1:C5,E1:E5").Clear '※2
End Sub
'=================================================================================
<コメント>
※1 現在アクティブなシートに対して実行される
※2 SSSにはシート名(アクティブでなくても良い)を記入
※3 "A1:A5,C1:C5,E1:E5"にはクリアするセル範囲をカンマで区切って記入
※4 クリア対象の指定方法は、「2)指定のセル範囲」の場合と同様


5) セルを削除して消す このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub セルを削除して上方向にシフトする()
    削除範囲 = "A1"                             '※1
        Range(削除範囲).Delete Shift:=xlUp
    削除範囲 = "A1:B1"                          '※2
        Range(削除範囲).Delete Shift:=xlUp
End Sub
'---------------------------------------------------------------------------------
Sub セルを削除して左方向にシフトする()
    削除範囲 = "A1"                             '※1
        Range(削除範囲).Delete Shift:=xlToLeft
    削除範囲 = "A1:A2"                          '※2
        Range(削除範囲).Delete Shift:=xlToLeft
End Sub
'---------------------------------------------------------------------------------
Sub 行全体を削除する()
    基準セル = "A1"                             '※3
    Range(基準セル).EntireRow.Delete
End Sub
'---------------------------------------------------------------------------------
Sub 列全体を削除する()
    基準セル = "A1"                             '※3
    Range(基準セル).EntireColumn.Delete
End Sub
'=================================================================================
<コメント>
・無かったことにしたいデータのセルを削除することにより、クリアしたかのような効果を得る
・現在アクティブなシートに対して実行する
※1 "A1"には削除するセルを記入
※2 "A1:B1"または"A1:A2"にはクリアするセル範囲を記入
※3 "A1"には削除する行または列に含まれる任意のセルを記入

Excel VBA Macro




VBAの本 こちら





マクロ本 こちら





Excel本 こちら