文字列に改行コードが含まれているか、判定をしたい場合があります。
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 - 逆に改行コードを判定するのではなく、指定の改行コードに変換してしまうのも手です。



コメント