【VBAリファレンス|実務向け】Wordで「矩形選択(ブロック選択)」を使いこなし、文書編集を劇的に効率化する方法

スポンサーリンク

なぜ「ブロック範囲選択」が重要なのか

Wordで文書を作成しているとき、通常は行単位や段落単位で文章を選択しますよね。しかし、実務では「箇条書きの先頭にある記号だけを一括で削除したい」「表形式のように並んだ一部の列だけをコピーしたい」といった、縦に並んだデータだけを操作したいケースが多々あります。
一般的なドラッグ操作ではどうしても行全体が選択されてしまいますが、「ブロック選択(矩形選択)」を使えば、まるで四角い枠を描くように自由な範囲を選択できます。このテクニックを知っているだけで、編集作業のスピードは飛躍的に向上します。

ブロック選択の基礎知識

ブロック選択とは、Wordの標準機能の一つで、行の境界を無視して「縦×横」の四角い範囲を対象に選択状態にする機能です。
通常のマウスドラッグは「文字列の先頭から末尾まで」という流れで選択されますが、ブロック選択は「指定した座標の矩形内にある文字」を強制的にピックアップします。この機能は、特に表データや、整然と並んだリストの編集時に真価を発揮します。

実装方法:Altキーの活用

操作手順は非常にシンプルです。
1. マウスのポインタを選択したい範囲の開始位置に合わせます。
2. キーボードの[Alt]キーを押したまま、そのままマウスでドラッグします。
3. 画面上に四角い選択範囲が表示されます。必要な範囲までドラッグしたらマウスを離し、その後に[Alt]キーを離してください。

この状態でコピー([Ctrl]+[C])を行えば、選択したブロック部分だけをクリップボードに格納できます。

VBAでブロック選択を自動化するサンプル

実務では、特定のルールに基づいた範囲をVBAで制御したい場合もあるでしょう。Word VBAでブロック選択に近い動作(列単位の処理)を行うサンプルコードを紹介します。

Sub BlockSelectionExample()
    ' Wordのドキュメントで特定の範囲を選択し、太字にするマクロ例
    Dim rng As Range
    
    ' 選択範囲を取得
    Set rng = Selection.Range
    
    ' 選択した範囲に対して書式設定を行う
    ' ※VBAではブロック選択(矩形選択)を直接シミュレートするよりも、
    ' 各行をループして処理する方が安定します
    With rng
        .Bold = True ' 選択範囲を太字にする
        .Font.Color = wdColorRed ' 文字色を赤にする
    End With
    
    MsgBox "選択範囲の書式を変更しました。"
End Sub

応用・注意点:現場で陥りやすい罠

ブロック選択を使用する際、いくつか注意すべき点があります。
・貼り付け時の挙動:コピーしたブロックを貼り付ける際、貼り付け先のカーソル位置によっては、既存の文章が押し出されるなどしてレイアウトが崩れることがあります。貼り付け後は必ずプレビューを確認してください。
・表の中での使用:Wordの「表」の中では、ブロック選択よりも「列選択」機能(マウスを列の境界上に置いてクリック)の方が正確に動作する場合があります。
・非連続範囲との併用不可:[Ctrl]キーを押しながらの複数箇所選択と、[Alt]キーによるブロック選択を同時に行うことはできません。

この機能は、特に「不要なスペースを一括削除したい」「見出しの記号だけ色を変えたい」といった細かい調整で非常に重宝します。ぜひ次の資料作成から意識して使ってみてください。

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