Excel(エクセル)で複数のセルを結合すると左上のセルの文字は残りますが、残りのセルの文字は全て消えてしまします。
結合後のセルにすべてのセルの文字を残すためには、別のセルにいったんコピペしてから、再度結合されたセルに転記する必要があり、手作業では時間がかかってしまいます。
今回は複数のセルを結合しても文字を残すことが出来るマクロを作成することで、下のように『すべての文字を残すセルの結合』が一瞬で出来る機能を作成します。
👇『すべての文字を残すセルの結合』のイメージ
マクロといってもプログラムを作成するわけでなく、コードの貼り付けだけですぐに完了するので安心してね。
このマクロを一度作成しておくと、そのエクセルブックを開いた状態であれば別のエクセルブックにも使うことが出来ます。
また、マクロの中で『すべての文字を残すセルの結合』用のショートカットキー「Ctrl」+「Shift」+「Q」を作成します。
マクロといっても、この記事に貼り付けられている『VBAのコード』をエクセルのとある画面に貼り付けるだけで完了します。
初心者でも手順どおり作業すれば2分~3分で作業は完了するので、頑張ってみてくださいね!
最後の見出しでは、マクロを使用したくない人のために、関数を用いて極力工数をかけないセルの結合方法も合わせて紹介します。
『セルの結合』の仕組みを理解しよう
ます「セルの結合」の仕組みをおさらいしましょう。
結論から言うと、セルを結合した際に残される文字は、最も左上に入力されている文字だけが残ります。
例えば、下の表のB3セルからD6セルまで選択してから「ホーム」タブの「セルを結合して中央揃え」を選択してみます。
そうすると、「セルを結合すると、左上の値のみが保持され、他のセルの値は破棄されます」という注意が表示されますが、結合するために「OK」を押します。
そうすると、セルの結合後は左上の値だけが残り、残りの値は破棄されました。
今後は、B3セルとC3セルが空白セルだった場合、セルの結合を行うとどうなるでしょうか?
この場合、B3セルとC3セルが空白セルのため、次に優先度が高いD3セルの値が残され、残りの値は破棄されます。
このように、「セルの結合」をどんな複数セルに対して行っても、残される値は左上のセルだけで残りの文字は破棄されてしまいます。
今回の記事では、この破棄される値も残した状態でセルの結合を行う方法の紹介です。
『文字を残すセルの結合』用のVBAコード
それでは、『すべての文字を残すセルの結合』用のVBAコードを紹介します。
下のコードをすべてVBAコード表に貼り付けることで、「Ctrl」+「Shift」+「Q」のショートカットキーで文字が消えないセルの統合が出来ます。
メモ帳などに、「'■ブックオープン時に実行」から、「End Function」までをコピペしておきましょう。
'■ブックオープン時に実行
Sub auto_open()
'■ショートカットキー: Ctrl + Shift + Q
Application.OnKey "+^Q", "call_CellMerge"
End Sub
'■文字を残してセル結合
Public Function call_CellMerge()
Dim str As String
Dim cells As Range
'■選択範囲をループ
For Each cells In Selection
'■初回の場合足すだけ、初回以降はstrに足していく
If str = "" Then
str = cells.Value
Else
str = str & vbLf & cells.Value
End If
cells.Value = ""
Next
Selection.Merge
Selection.Value = str
End Function
メモ帳に貼り付けた場合は、以下のようになります。あくまでも一時的な貼り付けで、このコードはすぐにエクセルに利用します。
引用元:文字を残したままセル結合する【Merge】【エクセルマクロ】 | VBA Create
https://vba-create.jp/vba-merge-cells-value/
『文字を残すセルの結合』のマクロを作成する手順
それでは早速、マクロを作成する手順を1つずつ説明していきます。
作業内容が理解できなくても手順どおりに行えば完成しますので安心してください!
手順1.「マクロの記録」をクリック
新規のExcelブックもしくはセルを結合したいExcelブックを開き、「表示」タブの「マクロの記録」をクリックします。
手順2.マクロ名を登録
「マクロの記録」画面が表示されますので、「マクロ名」に任意のマクロ名を入力し、「OK」をクリックし、マクロの記録を開始します。
手順3.マクロの記録を終了
マクロの記録を開始したばかりですが、次の工程でVBAコードを入力しやすいようにいったんマクロの記録を終了します。
手順4.Excelブックを「名前を変えて保存」
「Ctrl」+「S」のショートカットキーを使って上書き保存すると、「次の機能はマクロなしのブックに保存できません」と問われるので、マクロ付のExcelファイルとして保存するために「いいえ」をクリックします。
手順5.ファイルの種類を「Excelマクロ有効ブック」にして保存
「名前を付けて保存」画面が表示されるので、任意のファイル名を入力します。
次にファイルの種類を「Excelマクロ有効ブック」にして任意の場所を指定して「保存」をクリックします。
手順6.「表示」タブの「マクロの表示」をクリック
マクロのVBAのコードを貼り付けるために、「表示」タブの「マクロの表示」をクリックします。
手順7.「編集」を選択
「マクロ」画面が表示されるのでVBAコードを貼り付けるために、「編集」をクリックします。
手順8.「VBAのコード」画面にコードを貼り付ける
「VBAのコード」画面が表示されますので、下の赤線の範囲に、事前にメモ帳等に保存したVBAコードを貼り付けてください。
画面を開いた時点で入力されている赤の点線内のデータはVBAコードの貼り付け時に上書きして消してください。
手順9.「VBAのコード」画面にコードを貼り付ける
VBAコードを貼り付け終えたら、画面右上の「×」で画面を閉じます。
これでマクロの編集は終了です。Excelファイルは忘れずに上書き保存しておきましょう。
マクロを使って『文字を残すセルの結合』を実行
それではマクロが登録されたExcelブックを使って、文字を残すセルの結合を実行してみましょう。
上の紹介でも触れましたが、このマクロが登録されているExcelブックを開いておけば、どのExcelブックにでも利用出来ます。
手順1.マクロが保存されたExcelファイルを開く
マクロを保存したExcelファイルを開きます。リボンの下に「セキュリティ警告マクロが無効にされました」と注意が表示されている場合は、マクロを有効にするために「コンテンツの有効化」をクリックしてください。
手順2.『セルの結合用』ショートカットキーを利用
『文字を残してセルを結合』したい対象のセルを選択して、「Ctrl」キー+「Shift」キー+「Q」キーを3つのキーを同時押しします。
手順3.結合されたセルを確認
文字が消えずにセルが統合されてか確認します。
結合したセル数が多いと、一部の値が結合されたセルに下に隠れている状態になります。
手順4.行幅を広げる(完了)
行幅を広げることで、隠れている一部の値を表示することが出来ます。下の図のように、全てのセルの値を表示することができれば作業は完了です。
『文字を残すセルの結合』マクロを利用する際のポイント
この『文字を残すセルの結合』マクロを利用する際に気を付ける2つのポイントを紹介します。
マクロは別のブックでも利用可能
マクロが登録されたExcelブックは、拡張子が『xlsm』の『Excelマクロ有効ブック』というマクロ用のファイルで保存されています。
このマクロを利用したい時は、このマクロ付のExcelブックを起動しておけば、それ以外の起動しているExcelブックにもマクロを利用することが可能です。
そのため、わざわざマクロの作成を何度も繰り返す必要はありません。
マクロ実行後は元に戻せない
このマクロに限らずですが、「Ctrl」+「Shift」+「Q」のショートカットキーを使ってセルを結合した後に、「元に戻す」は使えません。
利用する時は、事前にファイルを保存しておくなど注意が必要です。
マクロを使わずにセルを結合する方法
マクロは元に戻すことが出来ないなどデメリットも存在します。
そのため、マクロを利用せずに極力時間をかけずに「文字を残したセルの結合」を行う方法を紹介します。
この方法は、Exce2019以降やOffice365で利用出来るCONCAT関数(コンカット)を使用します。
まずセルを結合する前に、セルの情報を空いたセルにコピーしておきます。
続いて、セルを結合して、残ってた値も消します。
結合したセルに、CONCAT関数を挿入し文字を結合します。
=CONCAT(E3:F5)
CONCAT関数はもう不要なので、結合された文字を値で貼り付け直します。
後は「Alt」キーを使って、文字を改行していけばセルの結合の完了です。
セルの結合って禁止!?
Excel(エクセル)の『セルの結合』は、複数のセルをひとまとめに出来るので、表を作成した時にレイアウトやデザインの面でメリットがあります。
ただ、巷では『セルの結合』はダメ!禁止!という声が多く上がっているのはご存じでしょうか。
そんな「セルの結合」の問題点と解決策を以下の記事で紹介しています。
興味のある方は参考にしてみて下さい。