【VBA】結合されたセルを配列を使って高速に値をクリアする方法
日々の業務で大量のデータを扱う際、結合されたセルを一つずつ解除するのは非常に時間がかかる作業です。この記事では、配列を使用して高速に結合されたセルの内容を一括でクリアする方法を紹介します。
サンプルコード
VBA
Option Explicit
Sub ClearCombinedCells()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") ' 使用するシート名を指定してください
Application.ScreenUpdating = False ' 画面更新を停止して処理速度を向上させる
Dim lastRow As Long, i As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' 最終行の取得
Dim rng As Range, cell As Range
Set rng = ws.Range("A1:A" & lastRow) ' クリアする範囲を指定してください
For Each cell In rng
If cell.MergeCells Then ' 結合されたセルの場合
cell.Value = "" ' 値をクリア
End If
Next cell
Application.ScreenUpdating = True ' 画面更新を再開
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。