概要
Chr
関数は、指定されたASCIIコードに対応する文字を返すExcel VBAの関数です。例えば、コード65を指定すると、文字”A”が返されます。この関数は、文字を生成したり、特殊文字や制御文字を挿入する際に役立ちます。
構文
Chr(コード)
パラメータ
-
コード
0から255までの範囲の整数を指定します。この数値に対応する文字が返されます。指定されたコードが範囲外の場合、エラーが発生します。
戻り値
指定されたASCIIコードに対応する文字を返します。例えば、コード13を指定すると改行文字(キャリッジリターン)が返されます。
説明
Chr
関数は、ASCIIコードを文字に変換するための便利な関数です。制御文字(例えば、改行やタブなど)や特殊文字を挿入する場合に頻繁に使用されます。特に、文字列の生成や操作を行う際に役立ちます。
-
コード範囲について
コードは0から255の範囲で指定します。0から31の範囲は制御文字(例えば、改行、タブなど)、32から127は標準の文字、128から255は拡張ASCII文字に対応します。
-
ChrW
関数との違いChr
関数はASCIIコードに基づいていますが、ChrW
関数はUnicodeコードポイントに基づいて文字を返します。日本語などの全角文字を扱いたい場合はChrW
を使用します。
使用例
基本的な使用例 - ASCIIコードから文字を生成する
Sub SampleChr()
Dim letter As String
letter = Chr(65)
MsgBox "ASCIIコード65に対応する文字は: " & letter ' 結果: A
End Sub
改行文字を挿入する
Sub ChrNewLine()
Dim message As String
message = "こんにちは" & Chr(13) & "世界!"
MsgBox message ' 結果: こんにちは(改行)世界!
End Sub
複数の制御文字を挿入する
Sub InsertControlChars()
Dim text As String
text = "Hello" & Chr(9) & "World!" ' タブ文字を挿入
MsgBox text ' 結果: Hello World!
End Sub
特殊文字を生成する
Sub SpecialCharacters()
Dim euroSymbol As String
euroSymbol = Chr(128)
MsgBox "ユーロ記号: " & euroSymbol ' 一部環境では表示されない場合があります
End Sub
備考
-
コードが範囲外の場合
指定したコードが0から255の範囲外の場合、実行時エラーが発生しますので、事前にコードをチェックすることが重要です。 -
ChrW
関数の使用
拡張ASCIIや全角文字、Unicode対応が必要な場合はChr
ではなくChrW
関数の使用を検討してください。 -
制御文字の挿入
改行やタブなどの制御文字を挿入する場合、Chr
関数は非常に便利です。特に、Excelセルやメッセージボックスでの表示内容を整形する際に役立ちます。