VBATips

指定列(複数列)の初期化処理をパーツ化する【ExcelVBA】

指定列のみを初期化したい

マクロで計算処理実行後、特定のシートに計算結果を入力するケースは多いです。
その場合にワークシートの初期化は必須です。
正常に初期化しないと、データにゴミが入ってしまう不具合が発生します。

指定列を初期化するサンプルコード(複数列対応)

cells.Clearで全て削除をします。ws.UsedRange.Clearでも同様と考えます。

'■列単位でデータを初期化する(指定列のCleaContents)
Public Function call_ColumnsInit(ws As Worksheet, sRow As Long, sCol As Long, eCol As Long)
    Dim eRow As Long
    
    Dim C As Long
    For C = sCol To eCol
        eRow = Call_LastRowWs(C, ws)
        'If eRow >= sRow Then ws.Range(ws.Cells(sRow, C), ws.Cells(eRow, C)).Clear
        If eRow >= sRow Then ws.Range(ws.Cells(sRow, C), ws.Cells(eRow, C)).ClearContents
    Next
    
End Function

実際の使い方

Public Sub sample()

     Call call_ColumnsInit(ws, ROW_START, COL_START, COL_END)
   
End Sub

注意点

  • パーツ化する程の事でもない単純なコードですが、
    コードを分けておくことで、メインコード内に共通認識ができあがります。
    共通認識が出来上がるということは、共同の開発者や他のマクロ内でも作業の効率化が出来ます。

関連記事

コメント

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