メニュー 閉じる

【できるだけ日本語VBA】複数セルの内容をひとつにまとめる

【できるだけ日本語VBA】複数セルの内容をひとつにまとめる

改行されてる文章をそのままExcelにコピペしたら複数のセルに分けられちゃった…。
複数のセルの内容を一つにまとめて使いたい…。
作業をしていると、こんなことってよくありませんか?

手作業で1つのセルに貼り付けて不要な行を消す工程を
1回だけならまだしも毎回、しかも何回もやるとなると結構面倒だと感じますよね。

そこで!
代わりに自動でやってくれるマクロを組んでみましょう!

(でもVBAって正直どうも意味が分からなくて手が出せないんだよなぁ…)
(なんとなくは分かるけど今何について記述しているのか混乱しちゃう…)

今回はそんな方向けに、敢えて日本語を交えてコードを記述・解説して
イメージしやすいように書いてみました!

そのVBAのコードがこちら

Sub 文字結合1()

    Dim 結合文字 As String '//変数をstrng型で宣言
    Dim 範囲 As Range '//変数をRange型で宣言

    結合文字 = "" '//変数「結合文字」を初期化

  '//選択された範囲内の各セルの文字を「結合文字」に結合していく
    For Each 範囲 In Selection.Cells
        結合文字 = 結合文字 & 範囲.Text
    Next 範囲

  '//選択された範囲の1番上の行に結合完了した文字を表示する
    Selection.Rows(1).Value = 結合文字

  '//選択された範囲の2行目以降を行削除する
    Range(Selection(2).Row & ":" & Selection(Selection.Count).Row).Delete  
  
End Sub

後はボタンを作成してこのコードを割り当てたり、
クイックアクセスツールバーに追加したりしてあげましょう。

そうするとなんと!
マウスでくっつけたいセルを選んでマクロを実行するだけで、
後の処理を勝手にしてくれちゃいます♪

意外と様々なものに応用が利きそうですね。
皆様の作業効率化に繋がれば幸いです!