VBAで自動化 VBA一覧 変換・データ型 配列・データ操作

【VBA】文字列に変換するFormat関数

Excel VBAでは、数値や日付などの値を文字列に変換することがよくあります。Format関数を使用して値を文字列に変換する方法について説明します。

Excel VBAで値を文字列に変換する方法

1. Format関数の基本

Format関数は、値を特定の形式に従って文字列に変換するために使用されます。

【基本的な構文】
Format(Expression, [Format])

  • Expression
    変換したい数値や日付。
  • Format
    省略可。適用したい表示形式。省略するとデフォルトの形式が適用されます。

2. 数値を文字列に変換する

以下のコードは、数値をそのまま文字列に変換する方法を示しています。

Sub ConvertNumberToString()

Dim originalValue As Double
Dim stringValue As String

originalValue = 1234.56
stringValue = Format(originalValue)

Debug.Print stringValue ' 出力: 1234.56

End Sub

小数点以下の桁数を指定して変換

数値を小数点以下2桁にフォーマットして文字列に変換します。

Sub ConvertNumberToStringWithDecimals()

Dim originalValue As Double
Dim stringValue As String

originalValue = 1234.5678
stringValue = Format(originalValue, "0.00")

Debug.Print stringValue ' 出力: 1234.57

End Sub

パーセント形式で変換

数値をパーセント形式で文字列に変換します。

Sub ConvertNumberToPercentString()

Dim originalValue As Double
Dim stringValue As String

originalValue = 0.875
stringValue = Format(originalValue, "0.00%")

Debug.Print stringValue ' 出力: 87.50%

End Sub

3. 日付を文字列に変換する

標準日付形式で変換
日付を標準的な日付形式の文字列に変換します。

Sub ConvertDateToString()

Dim originalValue As Date
Dim stringValue As String

originalValue = DateSerial(2024, 7, 9)
stringValue = Format(originalValue, "yyyy-mm-dd")

Debug.Print stringValue ' 出力: 2024-07-09

End Sub

長い日付形式で変換

日付を長い日付形式の文字列に変換します。

Sub ConvertDateToLongString()

Dim originalValue As Date
Dim stringValue As String

originalValue = DateSerial(2024, 7, 9)
stringValue = Format(originalValue, "dddd, mmmm d, yyyy")

Debug.Print stringValue ' 出力: Tuesday, July 9, 2024

End Sub

4. カスタムフォーマットで文字列に変換する

独自のフォーマットを指定して値を文字列に変換します。以下の例では、数値を千位区切りと小数点以下2桁でフォーマットします。

Sub ConvertNumberToCustomString()

Dim originalValue As Double
Dim stringValue As String

originalValue = 1234567.89
stringValue = Format(originalValue, "#,##0.00")

Debug.Print stringValue ' 出力: 1,234,567.89

End Sub

まとめ

Format関数を使用することで、数値や日付をさまざまな形式で文字列に変換することができます。これにより、データの表示形式を自由にカスタマイズでき、必要なフォーマットでデータを出力することが可能になります。

-VBAで自動化, VBA一覧, 変換・データ型, 配列・データ操作