サイトについて      連絡先   検索

VBA 特殊文字と制御文字の一覧

はじめに

Excel VBA マクロの特殊文字と制御文字の一覧を紹介します。

Chr 関数」で入力ができます。「Asc 関数」で文字コードを取得できます。

特殊文字を判定したり置換や削除もできます。

  • 目次
    • 特殊文字と制御文字の一覧
    • 入力や取得する
    • 検索する
    • 置換や削除する

特殊文字と制御文字の一覧

VBA で定義されている特殊文字と制御文字の一覧です。文字コードの列は「Chr 関数」で同じ文字を入力するときの値です。

特殊文字 文字コード 説明
vbBackChr(8)バックスペース
vbCrChr(13)キャリッジリターン
vbCrLfChr(13) & Chr(10)改行、vbCr + vbLf を結合した文字
vbFormFeedChr(12)フォームフィード、印刷の改ページ
vbLfChr(10)ラインフィード
vbNewLineChr(13) & Chr(10)改行、OS の改行コードに合わせた文字
vbNullCharChr(0)Null 文字、データーベースの NULL とは違う
vbNullString表せない初期化されていない文字、長さ 0 の文字、空文字とは違う
vbTabChr(9)タブ
vbVerticalTabChr(11)垂直タブ

改行文字を使うときは一般的に vbCrLf の方が使われます。vbLf はエクセルのセル内で改行したときの改行文字です。

入力や取得する

Chr 関数」を使用して、上記以外の特殊文字を入力できます。Shift_JIS や Unicode の文字を入力できます。

Asc 関数」を使用して、文字コードを取得できます。


Dim s As String
s = Chr(10)
Debug.Print (s) ' vbLf の文字
    
Dim i As Integer
i = Asc(s)
Debug.Print (i) ' 10

特殊文字の入力ができれば、通常の文字と同じように判定や削除ができます。

検索する

InStr 関数」を使用して、特殊文字の位置を検索できます。


Dim 文字列 As String
文字列 = "ABC" & vbCrLf & "DEF"

Dim 検索 As String
検索 = Chr(13) & Chr(10)

Dim i As Integer
i = 1

Do While i <> 0
    i = InStr(i + 1, 文字列, 検索) ' 0 以外が見つかった位置
    Debug.Print (i) ' 4 0
Loop

置換や削除する

Replace 関数」を使用して、置換や削除ができます。


Dim 文字列 As String
文字列 = "ABC" & vbCrLf & "DEF"

Dim 置換後 As String ' 置換後の文字、空文字なら削除される
Dim s As String

置換後 = "_"
s = Replace(文字列, vbCrLf, 置換後)
Debug.Print (s) ' ABC_DEF

置換後 = ""
s = Replace(文字列, vbCrLf, 置換後)
Debug.Print (s) ' ABCDEF
  • 目次
    • 特殊文字と制御文字の一覧
    • 入力や取得する
    • 検索する
    • 置換や削除する