関数・メソッド

文字コードで文字列を取得する【Chr関数】【ChrW関数】【ExcelVBA】

構文

Chr(CharCode)  

CharCode・・・Shift_JIS形式の文字コードを選択
戻り値・・・・・String(ASCIIコードで指定された文字列を返す)
Chr関数文字コード(ASCIIコード)から文字列に変換します。
※アルファベットや日本語文字列などを通常呼び出すケースは少なく、
タブ文字Chr(9)や改行文字Chr(10)を呼び出すケースが多いでしょう。

Chr関数のサンプルコード

Public Sub test_Chr()
    
    '■ASCIIコード表に対応した文字列を呼び出す
    MsgBox Chr(65)  '→A
    MsgBox Chr(97)  '→a
    MsgBox Chr(57)  '→0
    
    
    '■制御文字(タブ文字)
    MsgBox "a" & Chr(9) & "b"   '→a    b

    '■制御文字(改行文字) vbLf
    MsgBox "a" & Chr(10) & "b"   '→a
                                 '  b
End Sub

注意点

  • Chr関数はShift_JIS形式で取得します。UTF-16で取得したい場合は ChrW関数 を使用します。
    ※使用例 Webで取得したデータの半角スペース削除ができない【ExcelVBA】
  •  1 バイトのデータ取得する場合は ChrB 関数を使用します。※あまり使用しないでしょう。
  • 0 ~ 255 の範囲は半角文字です。
    -32768 ~ 65536 の範囲は全角文字です。

よく使うChr関数の一覧

Chr関数を知らずに使っているケースもあるでしょう。下記で使用していたりしませんか?
使用例※ダブルクォーテーションを文字列に簡単に入れたい(Chr関数)

Chr関数意味
Chr(39)シングルクォーテーション(‘)
Chr(34)ダブルクォーテーション(“)
Chr(9)タブ
Chr(32)半角スペース
Chr(10)vbLf
Chr(13)vbCr
Chr(10)+Chr(13)vbCrLf

関連記事

文字コード(Shift_JIS)を取得する【Asc関数】【ExcelVBA】
Webで取得したデータの半角スペース削除ができない【ExcelVBA】
ダブルクォーテーションを文字列に簡単に入れたい(Chr関数)

コメント

タイトルとURLをコピーしました