【VBA】指定範囲(表)をクリアする

サンプルプログラム概要

指定範囲(表)の以下をクリアする。
・値と数式
・罫線

水平/垂直位置や表示形式はクリアしない。

前提

以下のシート及び表が存在する。

サンプルプログラム

引数として以下を指定する。
・シート名
・クリアする表の一番左上のRANGE

'変数の宣言を必須
Option Explicit

Sub sample()
    
    'シート名
    Const SHEET_NAME As String = "サンプルシート"
    'クリアする表の一番左上のRANGE
    Const START_RANGE_STR As String = "B3"
    
    '指定範囲(表)をクリア
    Call clearTable(SHEET_NAME, START_RANGE_STR)

End Sub

'#########################################
'指定範囲(表)をクリア
'#########################################
Function clearTable(sheetName As String, startRangeStr As String)

    Dim ws As Worksheet
    Dim startRange As Range
    
    Dim startRow As Double
    Dim endRow As Double
    Dim startColumn As Double
    Dim endColumn As Double
    
    Set ws = Worksheets(sheetName)
    Set startRange = ws.Range(startRangeStr)
    
    '開始行を取得
    startRow = startRange.row
    '最終行を取得
    endRow = startRange.End(xlDown).row
    '開始列を取得
    startColumn = startRange.Column
    '最終列を取得
    endColumn = startRange.End(xlToRight).Column

    '値と数式をクリア
    Range(ws.Cells(startRow, startColumn), _
          ws.Cells(endRow, endColumn)).ClearContents
    '罫線をクリア
    Range(ws.Cells(startRow, startColumn), _
          ws.Cells(endRow, endColumn)).Borders.LineStyle = xlLineStyleNone
           
    Set ws = Nothing
    Set startRange = Nothing
    
End Function

結果

以下がクリアされた。
・値と数式
・罫線

タイトルとURLをコピーしました