概要

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セルやメッセージボックスでの表示内容を整形する際に役立ちます。