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

【VBA】format関数:「日時・桁数・0埋め・Now」使用方法

Excel VBAにおけるFormat関数は、データの表示形式をカスタマイズする際に非常に有効です。数値、日付、時間などを任意の形式で表示することができます。この記事では、Format関数の基本的な使い方から応用テクニックまでを紹介します。

Format関数の基本構文

  • Expression: 書式設定を適用したい数値、日付、時間などのデータを指定。
  • Format: どのような形式でデータを表示するかを指定する書式文字列。

Format(Expression, [Format])

Format(Now)の使用方法

Now 関数は現在の日付と時刻を返します。
Format 関数を使用して、この値を様々な形式で表示できます。

Dim formattedDateTime As String

' 現在の日付と時刻
formattedDateTime = Format(Now, "yyyy-mm-dd HH:MM:SS")
' 結果例: "2024-01-19 00:04:33"

' 日付のみ表示
formattedDateTime = Format(Now, "Long Date")
' 結果例: "2024年1月19日"

' 時刻のみ表示
formattedDateTime = Format(Now, "HH:MM:SS AM/PM")
' 結果例: "12:04:33 AM"

カスタム書式設定

Format関数は、標準の書式設定オプションだけでなく、ユーザー定義のカスタム形式を作成できることができます。

Dim customFormatted As String

' ゼロ埋め(5桁で表示)
formattedNumber = Format(123, "00000")
' 結果: "00123"

' カスタム日付形式
customFormatted = Format(Date, "yyyy-mm-dd")
' 結果: "2024-01-18"

' カスタム時間形式
customFormatted = Format(Now, "HH:MM:SS AM/PM")
' 結果: "03:45:30 PM"

日付と時間の書式設定

Dim formattedDate As String

' 長い日付形式
formattedDate = Format(Date, "Long Date")
' 結果: "2024年1月18日"

' 短い日付形式
formattedDate = Format(Date, "Short Date")
' 結果: "23/1/18"

' 時間形式
formattedDate = Format(Now, "Long Time")
' 結果: "22:45:30"

数値の書式設定

Dim formattedNumber As String

' 円表示(通貨形式)
formattedNumber = Format(1234567.89, "#,##0円")
' 結果: "1,234,567円"

' パーセンテージ形式
formattedNumber = Format(0.876, "0.00%")
' 結果: "87.60%"

' 固定小数点形式(小数点以下2桁)
formattedNumber = Format(1234.567, "0.00")
' 結果: "1234.57"

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