対象:Excel2003, Excel2007, Excel2010
Excelで、連続する複数の改行を一つにまとめるために、正規表現を使ったユーザー定義関数をご紹介しました。
実務上は、複数の改行が1個になるのではなく、2個以上の連続する改行を2個の改行にしたいという要望のほうがよくあるかもしれません。
[スポンサードリンク]
先日のユーザー定義関数とほとんど同じですがご紹介しておきます。
▼複数の連続する改行を2個の改行にするユーザー定義関数
Function Replace_連続する改行を2個の改行に(文字列 As String)
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "\n{2,}"
Replace_連続する改行を2個の改行に = .Replace(文字列, vbLf & vbLf)
End With
End Function
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "\n{2,}"
Replace_連続する改行を2個の改行に = .Replace(文字列, vbLf & vbLf)
End With
End Function
先日の1個の改行にまとめるユーザー定義関数と違うのはWithステートメント内
.Pattern = "\n{2,}"
の「{2,}」で2回以上の「\n」改行コードを
Replace_GT2LF_to_2LF = .Replace(文字列, vbLf & vbLf)
で、元の文字列から「\n{2,}」を「vbLf & vbLf」と改行2個に置換した文字列を、ユーザー定義関数・Replace_GT2LF_to_2LFの戻り値に指定しているところです。
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » ユーザー定義関数 » 複数の連続する改行を2個の改行にする正規表現を使ったユーザー定義関数-RegExpオブジェクト