対象:Excel2003, Excel2007, Excel2010
Excelは表計算ソフトですが、計算機能もついた表型ワープロソフトとして利用する方は少なくありません。
計算機能付き表型ワープロとしてExcelを利用することを嫌悪する方がいらっしゃる一方で、本来のワープロソフトであるWordが、実は、結構難しいソフトであるため、Excelをワープロ替わりにする方は少なくありません。
Excelをワープロ替わりに利用しているような職場だと、文字列整形に関する要望が、いろいろと出てきます。
複数の改行をまとめて一つにしいたい、という要望はその代表的なものの一つです。
[Alt]+[Enter]で複数の改行を入れられているときに、とりあえず改行を一つにしたいという要望です。
[スポンサードリンク]
最近のWindowsパソコンの環境ならば、VBScriptのRegExpオブジェクト(Regular Expression オブジェクト)を利用した、正規表現を使った、ユーザー定義関数を作るのが一つの方法です。
▼複数の改行を一つにまとめるユーザー定義関数
Function Replace_複数の改行を一つにまとめる(文字列 As String)
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "\n+"
Replace_複数の改行を一つにまとめる = .Replace(文字列, vbLf)
End With
End Function
Function Replace_複数の改行を一つにまとめる(文字列 As String)
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "\n+"
Replace_複数の改行を一つにまとめる = .Replace(文字列, vbLf)
End With
End Function
Withステートメント内の
.Global = True
で文字列全体を検索対象にして
.Pattern = "\n+"
の「+」で1回以上の「\n」改行コードを指定して
Replace_MltLF_to_SglLF = .Replace(文字列, vbLf)
で、元の文字列から「\n+」を「vbLf」に置換した文字列を、ユーザー定義関数の戻り値にしています。
VBScriptのRegExpオブジェクトのプロパティやメソッドについてはMSDNの「Regular Expression オブジェクトのプロパティとメソッド」をご覧ください。
関連語句
セル内の改行操作, 段落, 表内, Alt+Enter, セル内の開業, セルの中の改行, セルの中で改行位置, 改行を変更
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » ユーザー定義関数 » 複数の改行を一つにまとめたい-正規表現