Excel VBA Chr関数の使い方と文字コードから文字を取得する

VBA関数

今回はChr関数で指定した文字コード(Shift_JIS)から文字列を取得する方法をご説明します。

普段Excelではあまり使用する事がありませんが、文字コードを扱う処理をするときに使用します。

MsgBox関数やInputBox関数などを使ってメッセージを表示するときに、文字列の中にタブや改行を含めるために使用する事もできます。

また、ChrBChrW関数についても簡単にご説明します。

指定した文字列の文字コード(Shift_JIS)を取得する方法は「Asc関数で指定した文字列の文字コードを取得する」をご覧ください。

1.Chr/ChrB/ChrW関数の使い方

Chr関数

Chr関数は指定した文字コード (Shift_JIS) に対応する文字を取得します。

構文は次のように記述します。

Chr(文字コード) 

文字コードには文字を特定するためのコードを指定します。

指定した文字コードの数値を文字列型の値で返します。

指定するコードが半角の場合は「0~255」の範囲を、全角のときは「-32768~65536」の範囲を指定します。

コードに対応する文字が存在しない場合は、何も返しません。

MsgBox関数やInputBox関数などを使ってメッセージを表示するときに、文字列の中にタブや改行を含めるために使用する事もできます。

  • ChrB(9)タブ
  • ChrB(10)ラインフィード文字
  • ChrB(13)キャリッジリターン
ChrB関数

ChrB関数は文字ではなく1バイトを取得します。

構文は次のように記述します。

ChrB(文字コード) 

文字コードには文字を特定するためのコードを指定します。

ASCII コード 0 ~ 31 の範囲の文字は表示できません。

ChrW関数

ChrW関数はUnicode文字セットの文字を含む文字列型を返します。

構文は次のように記述します。

ChrW(文字コード) 

文字コードには文字を特定するためのコードを指定します。

2.サンプルコード

Sub Sample1()

'半角数字
Debug.Print Chr(49) '1

'全角数字
Debug.Print Chr(-32176) '1

'半角小文字
Debug.Print Chr(97) ' a

'半角大文字
Debug.Print Chr(65) ' A

'全角大文字
Debug.Print Chr(-32096) ' あ

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