セルを結合する(MergeCellsプロパティ)

 MergeCellsプロパティにTrueを設定するとセル範囲を結合し、Falseで逆にセル
範囲の結合を解除します。結合させるには複数のセルを指定する必要がありますが、
結合を解除する際には結合セル中の1つ以上のセルを指定するだけで解除できます。

 構文  Object.MergeCells     設定/取得


 設定項目    内容
  Object      Rangeオブジェクト


●サンプル1●

Sub MergeCellsSamp1()

   Range("A1:C5").MergeCells = True '----(1)  A1〜C5を結合

End Sub


 (1)のステートメントでA1〜C5を結合しています。結合させるための記述は非常に
単純ですが、実行結果は複雑です。

 対象セル範囲の中に値が入力されたセルが2つ以上ある場合、データを失うことに
なりますので、確認メッセージが表示されます。
 ここで[キャンセル]ボタンを押すとMergeCellsプロパティを変更できないという
エラーが発生しますので、ケースに応じて次のようにプログラミングを行なってく
ださい。

 次のサンプル2は、確認メッセージを表示しないでセルを結合します。結合すると
セル範囲のデータのうち、最上端にあるデータ以外は失われます。


●サンプル2●

Sub MergeCellsSamp2()

   Application.DisplayAlerts = False  '----確認メッセージを非表示
   Range("A1:C5").MergeCells = True
   Application.DisplayAlerts = True   '----確認メッセージを表示

End Sub


 次のサンプル3はデータが失われる場合にはユーザーが結合されるかどうか判断
するようになっています。[キャンセル]ボタンを押してもエラーは無視されます。


●サンプル3●

Sub MergeCellsSamp3()

    On Error Resume Next   '----エラーが発生しても無視
    Range("A1:C5").MergeCells = True

End Sub


 On Error Resume Nextステートメントを先に記述しておけば、エラーが発生
しても、実行を中断せずに次のステートメントを実行できます。

Excel2000



戻る


Excel Word Access VBA! モーグ