勉強VBA!セルの結合と解除をする構文の入力をしてみる

エクセル

VBAの勉強しています。

今回は第2回目。

 

当記事では「セルの結合と解除

を実践していきたいと思います。

スポンサーリンク

MergeCellsプロパティでセルA1~D1を結合する

エクセルVBA結合

 

下記を入力するとできます↓

Sub 結合するよ()
Range(“A1:D1”).MergeCells = True  ’①セルA1からD1を結合する
End Sub

 

実行すると↓のようになりますよ。

 

細かく分解して見ていきます。

  • Sub 結合するよ()
    この構文のタイトルにあたります。
    「結合するよ」は別の文字列でもOK(英語推奨)。
    【Sub 文字列()】でスタートします。

 

  • Range(“A1:D1”).MergeCells = True
    「Range」オブジェクトはセルのことなので、セルA1~D1を選択してる状態。
    ②「.MergeCells」は、“結合”プロパティを意味。「= True」にすることで実行できるようになります。

 

  • ‘①セルA1からD1を結合する
    Range(“A1:D1”).MergeCells = Trueに対してのメモ書き
    「’」←シングルクオーテーションを先頭につけることで、構文とは別物であることを証明します。
    メモ書きなので、なくても問題なし。

 

  • End Sub
    1つの構文を終わらせるためのもの。自動で入力されると思います。

 

Range(“A1:D1”).MergeCells = True
の部分については、ざっくり言うと

セルA1からD1の範囲に対して.結合 = する(正しい)

といった具合でしょうか。

応用①…セルA1に「おはよう」と入力してから結合

 

下記のようになります(メモ部分は省略)↓

Sub 結合するよ()
Range(“A1”) = “おはよう”
Range(“A1:D1”).MergeCells = True
End Sub

 

GIF動画↓

  • Range(“A1”) = “おはよう”
    セルA1に「おはよう」と入力する文です。
    分かりにくい場合は第1回目の記事でどうぞ。

 

セルA1に「おはよう」と入力⇒セルA1~D1を結合

という命令ができることが分かりました。

応用②…結合したセル内の「おはよう」を中央揃えにする

 

Sub 結合するよ()
Range(“A1”) = “おはよう”
Range(“A1”).HorizontalAlignment = xlCenter
Range(“A1:D1”).MergeCells = True
End Sub
  • Range(“A1”).HorizontalAlignment = xlCenter
    「セルA1を.水平方向で=中央揃えに」
    という構文です。

 

ちなみに垂直方向は「VerticalAlignment」プロパティとなります。

結合したセルA1~D1を解除する

 

結合を解除する場合は下記の通り↓

Sub 結合解除()
Range(“A1:D1”).MergeCells = False
End Sub
  • Range(“A1:D1”).MergeCells = False
    セルA1からD1の範囲の.結合は=しない

Falseは「失敗、間違い」みたいな意味ですが、結合の場合は「解除」ということになりますね。

まとめと疑問

  • .MergeCells=True・・・結合(プロパティ)
  • .MergeCells=False・・・結合解除
  • .HorizontalAlignment・・・水平方向(プロパティ)
  • .VerticalAlignment・・・垂直方向(プロパティ)

今回はこれらを学びました。

 

水平方向、垂直方向については、そこからさらに「中央揃え(xlCenter)」「左揃え(xlLeft)」などあります。

詳しくは後ほど…。

 

また今回の疑問としては

特定のセルに文字を入力したら、セルのサイズを変えずに、右隣りのセルと結合し、中央揃えにする

これを実現するにはどうしたら?という、ピンポイントなものがあります。

 

時間はかかりそうですが、できるようになれるといいなぁ

なんて思ってます。

コメントはここ!

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