PR

【VBA】Format関数の使い方

VBA

Format関数の使い方を紹介します。
Format関数は名前の通り、渡されたデータをフォーマットして返す関数です。

Format(Expression, [Format], [FirstDayOfWeek], [FirstWeekOfYear])
引数説明
Expression必ず指定が必要です。
フォーマットしたい値を設定します。
Format省略可能です。
Expressionをどのようにフォーマットしたいかを設定します
FirstDayOfWeek省略可能です。
週の最初の曜日を指定する定数です。
FirstWeekOfYear省略可能です。
年内で最初の週を指定する定数です。

よく使う使い方を以下に記載します。

日付・時間のフォーマット

Option Explicit

Sub FormatDate()
    MsgBox ("now: " & Now)

    Dim formattedDate As String
    formattedDate = Format(Now, "yyyy年mm月dd日")

    MsgBox ("formattedDate : " & formattedDate)

    Dim formattedTime As String
    formattedTime = Format(Now, "hh時mm分ss秒")

    MsgBox ("formattedTime: " & formattedTime)
End Sub

現在の日付を “yyyy年mm月dd日” のフォーマットで表示、
現在の時刻を “hh時mm分ss秒” のフォーマットで表示するプログラムです

1行目:変数の宣言を強制
3行目:FormatDateという名前で関数を宣言
4行目:Now関数で現在のシステム日時を取得・表示(now: 2024/10/09 21:00:00)
6行目:formattedDateという名前で文字列(String)の変数を用意
7行目:formattedDateにシステム日時をフォーマット(yyyy年mm月dd日)した結果を格納
9行目:formattedDateの値を表示(formattedDate: 2024年10月09日)
11行目:formattedTimeという名前で文字列(String)の変数を用意
12行目:formattedTimeにシステム日時をフォーマット(hh時mm分ss秒)した結果を格納
14行目:formattedTimeの値を表示(formattedTime: 21:00:00)
15行目:関数の終わり

その他、日付のフォーマット記号は以下に記載があります。
https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/format-function-visual-basic-for-applications#date-symbols

時刻のフォーマット記号は以下です。
https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/format-function-visual-basic-for-applications#time-symbols

数値のフォーマット

Option Explicit

Sub FormatInt()
    Dim price As Long
    price = 1980000
    
    Dim formattedPrice As String
    formattedPrice = Format(price, "#,##0")

    MsgBox ("formattedPrice: " & formattedPrice)
End Sub

price(1980000)を “#,##0” のフォーマットで表示するプログラムです

1行目:変数の宣言を強制
3行目:FormatIntという名前で関数を宣言
4行目:priceという名前で数値(Long)の変数を用意
5行目:priceに1980000(数値の値)をセット
7行目:formattedPriceという名前で文字列(String)の変数を用意
8行目:formattedPriceにpriceをフォーマット(#,##0)した結果を格納
10行目:formattedPriceの値を表示(formattedPrice: 1,980,000)
11行目:関数の終わり

その他

Option Explicit

Sub FormatOther()
    Dim id As Long
    id = 1
    
    Dim formattedId As String
    formattedId = Format(id, "000")

    MsgBox ("formattedId: " & formattedId)
End Sub

id(1)を “000” のフォーマットで表示するプログラムです

1行目:変数の宣言を強制
3行目:FormatOtherという名前で関数を宣言
4行目:idという名前で数値(Long)の変数を用意
5行目:idに1(数値の値)をセット
7行目:formattedIdという名前で文字列(String)の変数を用意
8行目:formattedIdにidをフォーマット(000)した結果を格納
10行目:formattedIdの値を表示(formattedId: 001)
11行目:関数の終わり

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