zukucode
主にWEB関連の情報を技術メモとして発信しています。

VBA 指定した範囲のセルを結合・結合解除する方法

VBAで指定した範囲のセルを結合または結合解除する方法を紹介します。

Range(Cells(1, 1), Cells(3, 3)).Merge

VBA 指定した範囲に配列の値をセットする方法で紹介した方法と同じように、Range(始点のセル, 終点のセル)の形式で範囲を指定します。

指定した範囲に対してMergeを実行すると、その部分のセルが結合されます。

結合解除

逆にセルの結合を解除したい場合はMergeの代わりにUnMergeを実行します。

範囲の指定方法はMergeの場合と同様です。

Range(Cells(1, 1), Cells(3, 3)).UnMerge

シートを指定する

上記の例ではシート名を指定していないため、現在のアクティブシートのセルが対象になります。

シート名を明示的に指定するには以下のようにします。

(シートの取得方法はVBA シート名でシートオブジェクトを取得する方法で紹介しています。)

Dim ws As Excel.Worksheet
Set ws = Worksheets("sheet1")

ws.Range(ws.Cells(1, 1), ws.Cells(3, 3)).Merge
ws.Range(ws.Cells(1, 1), ws.Cells(3, 3)).UnMerge

関連記事

  • VBA システム日付と時刻をフォーマットして表示する

    VBAでシステム日付と時刻をフォーマットして表示する方法を紹介します。以下の例では、例えばシステム日付が2019年01月23日4時56分01秒の場合は2019/01/23 04:56:01が設定されま...


  • VBA シート名でシートオブジェクトを取得する方法

    VBAでシート名でシートオブジェクトを取得する方法を紹介します。以下の例ではsheet1という名称のシートをwsという変数に設定しています。取得したシートをアクティブシートに設定するには、取得したシー...


  • VBA 指定した範囲に配列の値をセットする方法

    VBAで指定した範囲に配列の値をセットする方法を紹介します。Range(始点のセル, 終点のセル)の形式で範囲を指定します。範囲内のセルの数を配列の要素数と合わせています。また、配列は1次配列のため、...


  • VBA 書式のみをコピーして貼り付ける方法

    VBAで書式のみをコピーして貼り付ける方法を紹介します。まずは指定した範囲に対してCopyを実行します。コピーの手順はVBA 指定した範囲をコピーして別の場所に貼り付けるで紹介した方法と同じです。貼り...


  • VBA 複数の行を選択して操作を行う方法

    VBAで複数の行を選択して、コピーや削除などの操作を行う方法を紹介します。わかりやすくするために、まずは1行のみ選択する方法を確認します。以下の例では1行目を選択しています。複数行の場合は「範囲指定」...


  • VBA 指定した範囲をコピーして別の場所に貼り付ける方法

    VBAで指定した範囲をコピーして別の場所に貼り付ける方法を紹介します。まずは指定した範囲に対してCopyを実行します。VBA 指定した範囲のセルを結合・結合解除する方法で紹介した方法と同じように、Ra...


  • VBA セルの内容に合わせて列幅を設定する方法

    VBAでセルの内容に合わせて列幅を自動で設定する方法を紹介します。以下のように、自動調整したい列に対してAutoFitを実行します。自動で列幅を設定すれば、セルの内容が途中で折り返されたり切れたりとい...


  • VBA セルに値を設定する方法

    VBAでセルに値を設定する方法を紹介します。以下の例では、アクティブシートのセルC1(1行目のC列目(3列目))にsampleという文字列を設定しています。Cells(行番号, 列番号)の形式で指定し...


  • VBA 指定した範囲のセルを削除する方法

    VBAで指定した範囲のセルを削除する方法を紹介します。以下の例では、指定した範囲のセルを削除し、セルは左に詰めています。VBA 指定した範囲のセルを結合・結合解除する方法で紹介した方法と同じように、R...


  • VBA ループ処理で配列に要素を追加していく

    VBAでループ処理で配列に要素を追加していく方法を紹介します。For文のループ処理で配列の要素を1つづつ追加しながら、値を設定しています。Ubound関数は、指定した配列の最大のインデックスを返します...