【Excel VBA】スペースを「改行」に一括変換!見づらい表をスッキリさせるコード 

【業務効率化】VBA
スポンサーリンク

バックオフィス業務をしていると、システムから書き出したデータが「氏名 住所 連絡先」のように、一つのセルの中にスペース区切りで詰め込まれていること、ありますよね。

「これ、セルの中で改行されていれば読みやすいのに……」

そう思って、一つずつ「Alt + Enter」で改行を入れていませんか?

その作業、もし500行あったら数十分以上かかってしまいますよね。でも、VBAを使えばたったの1秒で終わります!

この記事では、セル内の「半角スペース」と「全角スペース」をすべて「改行」に置き換えるプログラムをご紹介します。

【業務効率化】VBAの記事を見る 

コピペで使えるVBAコード

さっそくですが、以下のコードを標準モジュールに貼り付けて使ってみてください。

Sub SpaceToLineBreak()
    ' 選択した範囲のセルを対象にします
    Dim targetRange As Range
    Set targetRange = Selection
   
    Dim cell As Range
   
    ' 画面の更新を止めて高速化
    Application.ScreenUpdating = False
   
    For Each cell In targetRange
        ' セルが空でない場合のみ処理
        If cell.Value <> "" Then
            ' 1. 全角スペースを半角スペースに統一
            Dim text As String
            text = Replace(cell.Value, " ", " ")
           
            ' 2. 半角スペースを改行(vbLf)に置換
            cell.Value = Replace(text, " ", vbLf)
           
            ' 3. 「折り返して全体を表示する」をオンにする
            cell.WrapText = True
        End If
    Next cell
   
    Application.ScreenUpdating = True
   
    MsgBox "処理が完了しました!"
End Sub

このコードのポイント

このコードには、初心者がつまずきやすいポイントを解決する工夫をしています。

  1. 全角・半角スペースの両方に対応:データによってスペースの種類がバラバラでも大丈夫。一度すべて半角に統一してから改行に変えています。
  2. 「折り返して全体を表示する」を自動設定:Excelのセルは「折り返して全体を表示する」設定になっていないと、改行コードが入っても見た目が変わりません。このコードはその設定も自動でONにします。
  3. 圧倒的な作業の高速:画面更新を止めることで処理を高速化しています。

使い方3ステップ

  1. Excelで Alt + F11 を押して、VBAエディタを開く。
  2. 「挿入」→「標準モジュール」を選び、上のコードを貼り付ける。
  3. 改行したいセルをマウスで選択して、マクロを実行するだけ!

【業務効率化】VBAの記事を見る 


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でしたが、年間100万円以上節約していました。
株式投資で年間360万円以上投資し、iDeCoも併用しています。
総資産はアッパーマス層に到達しました。
資格は日商簿記3級を持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、生産性を高めるITスキルについて発信しています。

生活を豊かにするため、高配当株投資で年間配当金60万円をめざしています。
現在の年間配当金は30万円ほどです。

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

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