Sample Macro  範囲選択・クリア [基本型] Previous Next


1) 指定セル選択 このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub 指定条件を満たすセルを選択する()
    Worksheets("SSS").Activate                          'シートをアクティブにする ※1
    Range("A1").SpecialCells(xlCellTypeBlanks).Select   '空白セル ※2、3
    Range("A1").SpecialCells(xlCellTypeVisible).Select  '可視セル ※2、3
    Range("A1").SpecialCells(xlCellTypeLastCell).Select '最後のセル ※2、3
    Range("A1").SpecialCells(xlCellTypeFormulas, 1).Select '数式セル ※2、3
    Range("A1").SpecialCells(xlCellTypeComments).Select
                                                           'コメントを含むセル ※2、3
    Range("A1").SpecialCells(xlCellTypeConstants).Select   '定数を含むセル ※2、3
    Range("A1").SpecialCells(xlCellTypeAllFormatConditions).Select
                                                            '表示形式設定セル ※2、3
    Range("A1").SpecialCells(xlCellTypeSameFormatConditions).Select
                                                            '同じ表示形式セル ※2、3
    Range("A1").SpecialCells(xlCellTypeAllValidation).Select '条件設定セル ※2、3
    Range("A1").SpecialCells(xlCellTypeSameValidation).Select
                                                            '同じ条件設定セル ※2、3
End Sub
'---------------------------------------------------------------------------------
Sub 使われたセル範囲を選択する()
    Worksheets("SSS").Activate                  'シートをアクティブにする ※1
        ActiveSheet.UsedRange.Select            '使われたセル範囲を選択
End Sub
'---------------------------------------------------------------------------------
Sub 上下左右端セルの選択方法()
    Worksheets("SSS").Activate                  'シートをアクティブにする ※1
        Range("A5").End(xlUp).Select            'セルA5の列の上端を選択 ※2
        Range("A5").End(xlToLeft).Select        'セルA5の行の左端を選択 ※2
        Range("A1").End(xlDown).Select          'セルA1の列の下端を選択 ※2
        Range("A1").End(xlToRight).Select       'セルA1の行の右端を選択 ※2
End Sub
'=================================================================================
Sub シートの最後のセルの次の行のセルを選択する()
    Range("A1").SpecialCells(xlCellTypeLastCell).Offset(1, 0).Select
End Sub
'---------------------------------------------------------------------------------
Sub シートの指定列の一番下のデータの次の行のセルを選択する()
    Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select
End Sub
'---------------------------------------------------------------------------------
Sub シートの一番下のデータの次の行のA列のセルを選択する()
    列名 = "A"                                  '※4
    使われた行数 = ActiveSheet.UsedRange.Rows.Count '※5
    Range(列名 & 使われた行数 + 1).Select
End Sub
'=================================================================================
Sub 指定ブック内の指定セル範囲を選択する()
    シート名 = "Sheet2"
    セル範囲 = "A6"
    Application.Goto Worksheets(シート名).Range(セル範囲) '※6
End Sub
'---------------------------------------------------------------------------------
Sub 指定ブック内の指定セル範囲を選択しスクロールする()
    Application.Goto Reference:=Worksheets("Sheet2").Range("A200:E205"), _
        scroll:=True
End Sub
'=================================================================================
Sub アクティブセルの右隣りのセルを選択する()
    ActiveCell.Next.Select                      '※7
End Sub
'---------------------------------------------------------------------------------
Sub アクティブセルの左隣りのセルを選択する()
    On Error GoTo 最左端エラー
    ActiveCell.Previous.Select                  '※7
    On Error GoTo 0
    Exit Sub
最左端エラー:
    MsgBox "アクティブセルの左隣りのセルは存在しません。"
End Sub
'=================================================================================
<コメント>
※1 SSSにはシート名を記入
※2 上下左右端のセル番号は任意に記入
※3 Range("A1")は ActiveSheet.Cells と記入しても可
※4 A には選択したい列名を記述
   
※5 対象ブックを上書き保存してから実行すると安全(UsedRangeプロパティを利用のため)
※6 そのブックがアクティブでなければアクティブになる
※7 保護されたワークシートで移動できるセルが限定されている場合は移動できるセルになる


2) 範囲を検出して選択 このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub シートの下端と右端を調べて範囲選択する()
    Sheets("SSS").Select                        'シートを選択する ※1
        上 = 1                                  '基点セルの行番号(この場合はA1の1) ※2
        左 = 1                                  '基点セルの列番号(A1のAの数字表記) ※2
        下 = Range(Cells(上, 左), Cells(上, 左)).End(xlDown).Row       '下端検出
        右 = Range(Cells(上, 左), Cells(上, 左)).End(xlToRight).Column '右端検出
    Range(Cells(上, 左), Cells(下, 右)).Select  '検出した範囲を選択
End Sub
'---------------------------------------------------------------------------------
Sub シートの上端と左端を調べて範囲選択する()
    Sheets("SSS").Select                        'シートを選択する ※1
        下 = 6                                  '基点セルの行番号(この場合はE6の6) ※2
        右 = 5                                  '基点セルの列番号(E6のEの数字表記) ※2
        上 = Range(Cells(下, 右), Cells(下, 右)).End(xlUp).Row        '上端検出
        左 = Range(Cells(下, 右), Cells(下, 右)).End(xlToLeft).Column '左端検出
    Range(Cells(上, 左), Cells(下, 右)).Select  '検出した範囲を選択
End Sub
'---------------------------------------------------------------------------------
Sub データの入ってない行を調べて選択する_罫線ある表()
    Sheets("SSS").Select                        'シートを選択する ※1
        Range("A5").CurrentRegion.Select        '左上セル基点にアクティブセル領域選択 ※3
        行 = Selection.Row                      '  〃 の行番号
        下 = 行 + Selection.Rows.Count          'アクティブセルの下端の次の行番号
        Range(Cells(下, 1), Cells(下, 1)).Select '   〃   の下端の次の行を選択
End Sub
'=================================================================================
<コメント>
※1 SSSにはシート名を記入
※2 行列番号は任意に記入
※3 A5には基点セルを任意に記入


3) アクティブセル このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub アクティブセル領域を選択する()
    Worksheets("SSS").Activate                  'シートをアクティブにする ※1
    Range("A1").CurrentRegion.Select            'アクティブセル領域を選択 ※7、8
End Sub
'---------------------------------------------------------------------------------
Sub アクティブセルの位置を調べる()
    Worksheets("SSS").Activate                  'ワークシートをアクティブにする ※1
        現在位置列 = ActiveCell.Column          'アクティブセルの列番号
        現在位置行 = ActiveCell.Row             'アクティブセルの行番号
        アドレス = ActiveCell.Address           'アクティブセルのアドレス ※2
        値 = ActiveCell.Value                   'アクティブセルの値
End Sub
'---------------------------------------------------------------------------------
Sub アクティブセルのアドレスを取得する()
    Worksheets("SSS").Activate                                '※1
    セルアドレス = ActiveCell.Address()                       '※2
    セルアドレス = ActiveCell.Address(RowAbsolute:=False)     '※3
    セルアドレス = ActiveCell.Address(ColumnAbsolute:=False)  '※4
    セルアドレス = ActiveCell.Address(ReferenceStyle:=xlR1C1) '※5
    セルアドレス = ActiveCell.Address(External:=True)         '※12

    Set 開始点 = Worksheets("Sheet1").Cells(1, 1)             '相対参照の開始点をセット
    セルアドレス = ActiveCell.Address(ReferenceStyle:=xlR1C1, _
        RowAbsolute:=False, ColumnAbsolute:=False, _
        RelativeTo:=開始点)                                   '※6
End Sub
'---------------------------------------------------------------------------------
Sub アクティブセル領域の行列数を調べる()
    行数 = Range("A1").CurrentRegion.Rows.Count 'アクティブセル領域の行数を取得 ※7
    列数 = Range("A1").CurrentRegion.Columns.Count '   〃     列数 〃   ※7
End Sub
'---------------------------------------------------------------------------------
Sub アクティブセルのフォントを変更する()
    Worksheets("SSS").Activate                  'ワークシートをアクティブにする ※1
        With ActiveCell.Font
            .Bold = True
            .Italic = True
        End With
End Sub
'---------------------------------------------------------------------------------
Sub 見出し行以外のアクティブセル領域を選択する()
    Range("A1").Select                          '※9
    Set 領域 = ActiveCell.CurrentRegion         'アクティブセル領域を取得して参照する
    領域.Offset(1, 0).Resize(領域.Rows.Count - 1, _
        領域.Columns.Count).Select              '指定領域のサイズを変更して取得 ※10、11
End Sub
'=================================================================================
Sub アクティブセルが指定セル範囲内にあるかを調べる()
    Set 指定セル範囲 = Range("B2:F20")          '※13
    Set 共有セル範囲 = Intersect(ActiveCell, 指定セル範囲)
    If Not 共有セル範囲 Is Nothing Then
        MsgBox "アクティブセルは指定セル範囲内にあります。", , "すぐマク"
    End If
End Sub
'---------------------------------------------------------------------------------
Sub アクティブセルが指定セル範囲内にないことを調べる()
    Set 指定セル範囲 = Range("B2:F20")          '※13
    Set 共有セル範囲 = Intersect(ActiveCell, 指定セル範囲)
    If 共有セル範囲 Is Nothing Then
        MsgBox "アクティブセルは指定セル範囲内にありません。", , "すぐマク"
    Else
        MsgBox "アクティブセルは指定セル範囲内にあります。", , "すぐマク"
    End If
End Sub
'=================================================================================
<コメント>
※1 SSSにはシート名を記入
※2 A1参照形式(行列とも絶対参照)
※3 A1参照形式(列:絶対、行:相対参照)
※4 A1参照形式(列:相対、行:絶対参照)
※5 R1C1参照形式(行列とも絶対参照)
※6 R[-2]C[-2] R1C1参照形式(行列ともA1セルからの相対参照)
※7 A1には左上端のセル番号を記入
※8 Range("A1")は ActiveSheet.Cells と記入しても可
※9 A1にはリスト内のセルを指定する
※10 Offset(1,0)の 1には見出し行の行数を指定する
※11 Rows.Count-1の 1は上記の行数と一致する
※12 False:ローカル参照(既定値)、True:外部参照(ブック名とシート名付)
※13 B2:F20 には調べたいセル範囲を記入


4) 変数名で範囲指定して選択する このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub 変数名で範囲指定して選択する_A1方式()
    Worksheets("SSS").Activate                  'ワークシートをアクティブにする ※1
        左上 = "B3"                             '選択する範囲の左上セル ※2
        右下 = "E6"                             '   〃   右下セル ※2
        範囲 = 左上 & ":" & 右下                '選択する範囲を指定する文字列
    Range(範囲).Select                          '指定された範囲を選択する
End Sub
'---------------------------------------------------------------------------------
Sub 変数名で範囲指定して選択する_R1C1方式()
    Worksheets("SSS").Activate                  'ワークシートをアクティブにする ※1
        左 = 2                                  '選択する範囲の左端セルの列番号 ※3
        上 = 3                                  '   〃   上端 〃 行番号 ※3
        右 = 5                                  '   〃   右端 〃 列番号 ※3
        下 = 6                                  '   〃   下端 〃 行番号 ※3
    Range(Cells(上, 左), Cells(下, 右)).Select  '指定された範囲を選択する
End Sub
'---------------------------------------------------------------------------------
Sub セル番号を変化させながら順に選択する()
    Worksheets("SSS").Activate                  'ワークシートをアクティブにする ※1
    行 = 0                                      '※4
    Do
        行 = 行 + 1
        セル番号 = "A" & 行                     '※5
        Range(セル番号).Select
    Loop While Range(セル番号).Value <> ""
End Sub
'=================================================================================
<コメント>
※1 SSSにはシート名を記入
※2 "B3"と"E6"は例示、希望のセル名を記入
※3 2、3、5、6は例示、希望のセルの行列番号を記入
※4 0 は例示、最上行番号-1 を記入
※5 "A"は例示、希望のセルの列番号を記入


5) セル範囲の名前の追加・削除 このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub セル範囲に名前を付ける()
    Worksheets("SSS").Activate                  '※1 ワークシートをアクティブにする
        ActiveWorkbook.Names.Add Name:="範囲名A", _
        RefersToR1C1:="=SSS!R11C5:R13C5"        '※1、2、3
End Sub
'---------------------------------------------------------------------------------
Sub セル範囲の名前を削除する()
    Workbooks("BBB.xls").Names("範囲名A").Delete  '※2、4
End Sub
'=================================================================================
<コメント>
※1 SSSにはシート名を記入
※2 "範囲名A"は任意に命名して記入
※3 "=SSS!R11C5:R13C5"は例示、シート名と希望のセル名を記入(この例はSSSシートのE11:E13)
※4 BBBにはブック名を記入(非アクティブで可)、ActiveWorkbook としても可

関連ページ: 不規則なセル範囲に名前を付けるには


6) 名前付きセル範囲を選択 このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub 名前付きセル範囲を選択する()
    Worksheets("SSS").Activate                  '※1 ワークシートをアクティブにする
    Range("範囲名A").Select                     '※2
End Sub
'---------------------------------------------------------------------------------
Sub 名前付きセル範囲を結合して選択する()
Dim 結合対象 As Range                           '※3 オブジェクト型変数として宣言する
    Worksheets("SSS").Activate                  '※1
    Set 結合対象 = Application.Union(Range("範囲名A"), Range("範囲名C")) '※2、3 結合
    結合対象.Select                             '※3 結合されたセルを選択する
End Sub
'=================================================================================
<コメント>
※1 SSSにはシート名を記入
※2 "範囲名A"、"範囲名C"は予め設定した範囲名を記入
※3 "結合対象"には変数名を記入


7) 名前付きセル範囲のアドレスを取得 このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub 名前付きセル範囲のアドレスを取得する()
    アドレス = Range("範囲名A").Address         '※1
End Sub
'---------------------------------------------------------------------------------
Sub 名前付きセル範囲の行列数を取得する()
    行数 = Range("範囲名A").Rows.Count          '※1
    列数 = Range("範囲名A").Columns.Count       '※1
End Sub
'---------------------------------------------------------------------------------
Sub 名前付きセル範囲の行列番号を取得する()
    Range("範囲名A").Select                     '※1
    左上行 = ActiveCell.Row
    左上列 = ActiveCell.Column
    右下行 = 左上行 + Selection.Rows.Count - 1
    右下列 = 左上列 + Selection.Columns.Count - 1
End Sub
'=================================================================================
<コメント>
※1 "範囲名A"は命名されている名前を記入


8) 複数のセルとセル範囲を一度に選択 このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Private Sub 複数のセルを一度に選択する()
    Range("E10,G10,I10").Select                 '※1、3
End Sub
'---------------------------------------------------------------------------------
Private Sub 複数のセルとセル範囲を一度に選択する()
    Range("E10,G10:G12,I12").Select             '※1、2、3
End Sub
'---------------------------------------------------------------------------------
Private Sub 複数のセル範囲を一度に選択する()
    Range("E10:E16,I10:I16,G12:G14,F10:H10,F16:H16").Select '※1、2、3
End Sub
'=================================================================================
<コメント>
※1 E10とG10、I10、I12は1つのセルを指定する場合の書き方例
※2 G10:G12と E10:E16、I10:I16、G12:G14、F10:H10、F16:H16はセル範囲を指定する場合の書き方例
※3 複数指定する場合は , で区切る
サンプルブックのダウンロードは ここをクリック (YNxv206_Range.xls 37KB)
※ 一旦、ブックをハードディスクに保存し、開き直してから実行してください。


9) 複数セルの同時選択を不可にする このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Private Sub Worksheet_SelectionChange(ByVal Target As Range) '※1
    If Target.Count > 1 Then
        Target(1).Select
        Exit Sub
    End If
End Sub
'=================================================================================
<コメント>
※1 Worksheetのコード画面に記述する


10) 選択範囲内の領域数取得・クリア このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub 選択範囲内の領域の数を取得する()
    領域の数 = Selection.Areas.Count
End Sub
'---------------------------------------------------------------------------------
Sub 複数領域が選択されていれば指定の領域をクリアする()
    領域番号 = 1                                '※1
    If Selection.Areas.Count <> 1 Then
        Selection.Areas(領域番号).Clear         '※1
    End If
End Sub
'=================================================================================
<コメント>
※1 Areasプロパティの引数「領域番号」には、領域のインデックス番号を指定する
   インデックス番号は、領域が選択された順序に対応している


11) 選択範囲をオフセットする(ずらす) このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub 選択範囲をオフセットする()
    Worksheets("SSS").Activate                  'ワークシートをアクティブにする ※1
        Range("A1:D1,A3:D3,A5:D5,A7:D7").Select '複数のセル範囲を一度に選択する ※2
        Selection.Offset(1, 0).Select           '1行下へ移動する ※3
        Selection.Offset(0, 1).Select           '1列右へ移動する ※3
        Selection.Offset(-1, 0).Select          '1行上へ移動する ※3
        Selection.Offset(0, -1).Select          '1列左へ移動する ※3
End Sub
'=================================================================================
<コメント>
※1 SSSにはシート名を記入
※2 A1:D1,A3:D3,A5:D5,A7:D7には任意の選択範囲を記入
※3 ( )の中の 0はオフセットしない、1には必要な行または列数を記入、マイナスなら逆方向になる
サンプルブックのダウンロードは ここをクリック (YNxv206_Offset.xls 32KB)
※ 一旦、ブックをハードディスクに保存し、開き直してから実行してください。


12) 選択範囲をリサイズする(狭める) このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub 選択範囲をリサイズする_狭める()
    Worksheets("SSS").Activate                  'ワークシートをアクティブにする ※1
        Cells.Select                            'すべてのセルを選択する ※2
        Selection.EntireRow.Hidden = False      '行を再表示する ※2
        Selection.EntireColumn.Hidden = False   '列を  〃    ※2
        Range("C3").Select                      'アクティブセル領域内のセルを選択 ※3
        Selection.CurrentRegion.Select          'アクティブセル領域を選択する ※4
        Selection.Resize(Selection.Rows.Count - 1).Select '選択領域を1行減らす
        Selection.Resize(, Selection.Columns.Count - 1).Select '選択領域を1列減らす
        Selection.Resize(1).Select              '選択領域を1行だけにする
        Selection.Resize(, 1).Select            '選択領域を1列だけにする
End Sub
'=================================================================================
<コメント>
※1 SSSにはシート名を記入
※2 必要な場合に限って行う
※3 C3は例示
※4 この方法でなくてもよいのでセル範囲を選択する
サンプルブックのダウンロードは ここをクリック (YNxv206_Resize.xls 53KB)
※ 一旦、ブックをハードディスクに保存し、開き直してから実行してください。


13) アクティブウィンドウのセル範囲等 このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub アクティブウィンドウに表示されているセル範囲を取得する()
    セル範囲 = ActiveWindow.VisibleRange.Address
End Sub
'---------------------------------------------------------------------------------
Sub アクティブウィンドウの選択されているセル範囲を取得する()
    セル範囲 = ActiveWindow.RangeSelection.Address
End Sub
'---------------------------------------------------------------------------------
Sub アクティブウィンドウの左上端セルの行列番号を取得する()
    行番号 = ActiveWindow.ScrollRow
    列番号 = ActiveWindow.ScrollColumn
End Sub
'=================================================================================


14) Gotoメソッド実行直前のセルアドレス このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub Gotoメソッド実行直前に選択されていたセルアドレスを取得する()
    現在シート = ActiveSheet.Name
    選択シート = "Sheet2"
    移動先セル = "A6:a7"
    Application.Goto Worksheets(選択シート).Range(移動先セル)
    MsgBox 現在シート & "!" & Application.PreviousSelections(1).Address
End Sub
'=================================================================================


15) 選択されているオブジェクトの種類を取得 このページのトップへ もくじへ 使用可能なExcelのバージョン
'=================================================================================
Sub 選択されているオブジェクトの種類を取得する()
    MsgBox TypeName(Selection)
End Sub
'=================================================================================
<コメント>
※1 ワークシートに存在するオブジェクトを選択してから実行する
   (例) セル : 文字列で Range
      オートシェイプの楕円 : 文字列で Oval


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


17) 選択されたセル範囲の内容をクリア このページのトップへ もくじへ 使用可能な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 これらのコードの前にセル範囲を選択するコードが必要


18) 指定のセル範囲の内容をクリア このページのトップへ もくじへ 使用可能な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にはクリアする範囲を記入


19) 複数のセル範囲の内容をクリア このページのトップへ もくじへ 使用可能な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)指定のセル範囲」の場合と同様


20) セルを削除して消す このページのトップへ もくじへ 使用可能な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