指定列のみを初期化したい
マクロで計算処理実行後、特定のシートに計算結果を入力するケースは多いです。
その場合にワークシートの初期化は必須です。
正常に初期化しないと、データにゴミが入ってしまう不具合が発生します。
指定列を初期化するサンプルコード(複数列対応)
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
注意点
- パーツ化する程の事でもない単純なコードですが、
コードを分けておくことで、メインコード内に共通認識ができあがります。
共通認識が出来上がるということは、共同の開発者や他のマクロ内でも作業の効率化が出来ます。
コメント