概要
Excelでは、セル内に改行(Alt + Enter)や特殊文字が含まれていると、見た目や処理に支障が出る場合があります。手作業での削除は手間がかかりますが、VBAを使えば一括で削除することが可能です。
本記事では、VBAを使ってセル内の改行コード(vbLf)や特殊な空白文字(ChrW(160) など)を削除する方法をご紹介いたします。さらに、改行が含まれているかどうかを検出する方法も併せて解説いたします。
サンプルコード
Sub CleanCellLineBreaks()
' 改行コード(vbLf)を削除
Range("D3").Value = Replace(Range("D3").Value, vbLf, "")
' 特殊な空白文字(ChrW(160))を削除
Range("D4").Value = Replace(Range("D4").Value, ChrW(160), "")
' アクティブセルに改行が含まれているかチェック
If InStr(ActiveCell.Value, vbLf) > 0 Then
MsgBox "このセルには改行が含まれています。"
End If
End Sub
コード解説
Replace(..., vbLf, "")
vbLfは「Line Feed」の略で、セル内の改行コードに該当します。- この処理により、セル内改行(Alt + Enter で入力された改行)を空文字で置き換えて削除します。
Replace(..., ChrW(160), "")
ChrW(160)は、**見えない特殊な空白文字(ノーブレークスペース)**です。- Webから貼り付けたデータや他アプリケーションからのコピーに含まれることがあります。
InStr(..., vbLf)
InStr関数は、文字列内に特定の文字(ここでは改行)が含まれているかどうかを確認します。- 含まれていれば
MsgBoxで通知します。
応用例
- データをCSVに変換する前に整形したい場合
- 改行や特殊文字があると動作しないVLOOKUPやMATCH関数の補正処理
- Webから取り込んだデータのクリーニング処理
注意点
vbLfはセル内改行(Alt + Enter)には有効ですが、場合によってはvbCrLf(キャリッジリターン+ラインフィード)が使われていることもあるため、必要に応じて置換対象を追加してください。ChrW(160)のような非表示文字は、目視では気づきにくいため、トリム関数では除去できないことがあります。
まとめ
本記事では、VBAを使ってセル内の改行や特殊空白文字を削除する方法をご紹介いたしました。
vbLfを使えば、改行コードの除去が可能ChrW(160)を使えば、不可視な空白文字の除去も対応可能InStrを使えば、検出と通知もできる
Excelのデータ整形や下処理を行う際に、ぜひ本手法をご活用ください。
副業から独立まで「稼げる」Webスキルを習得する(PR)
ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。
「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。
このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。
講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。
副業に特化した強み
- 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
- AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
- 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。
受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。
受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。
