文字列に改行コードが含まれているか、判定をしたい場合があります。
Instr関数で改行が含まれているかチェックすれば可能です。
但し、注意をしないといけないのが、改行には CR LF CRLF と3パターンあります。
文字列に改行コードが含まれるか判定する
Public Sub sample() Dim sWord As String: sWord = ActiveCell '■CRが含まれるかチェック If InStr(sWord, vbCr) > 0 Then Debug.Print "CR改行あり" End If '■LFが含まれるかチェック If InStr(sWord, vbLf) > 0 Then Debug.Print "LF改行あり" End If '■CRLFが含まれるかチェック If InStr(sWord, vbCrLf) > 0 Then Debug.Print "CRLF改行あり" End If End Sub
注意点
- セル内の改行 Alt + Enter ではvbLfの改行です。
- 他システムからエクスポートされたCSVファイルなどはvbCrLfの形も多いです。
- という事は、vbLfだけの判定では改行チェックとしては、弱いかもしれません。
- vbCrLf は vbCr と vbLf の集合体です。以下のような形のチェックも可能です。
If InStr(sWord, vbCr) > 0 And InStr(sWord, vbLf) > 0 Then Debug.Print "CR改行 and LF改行あり" End If
- 逆に改行コードを判定するのではなく、指定の改行コードに変換してしまうのも手です。
コメント