構文
構文は以下の通りです。
WorksheetFunction.Text(値, 表示形式)
解説
WorksheetFunctionは、ExcelVBAの組み込みオブジェクトで、Excelのワークシート関数をVBAから呼び出す際に使用します。Text関数は、数値や日付を指定した形式の文字列に変換します。値には、文字列に変換したい数値や日付を指定します。表示形式には、値をどのような形式で表示したいかを文字列で指定します。例えば、「"yyyy/mm/dd"」や「"0.00"」などです。以下に参考一覧で紹介します。
表示形式 | 内容 | 使用例 |
"0" | 小数点以下を表示しない | 例:1234 |
"0.00" | 小数点以下2桁まで表示 | 例:1234.56 |
"#,##0" | 3桁ごとにカンマを入れる | 例:1,234 |
"#,##0.00" | カンマと小数点以下2桁 | 例:1,234.56 |
"0%" | パーセンテージ表示 | 例:50% |
"0.00%" | 小数点以下2桁のパーセンテージ | 例:50.00% |
"¥#,##0" | 円マークを付ける | 例:¥1,234 |
"¥#,##0.00" | 円マークと小数点以下2桁 | 例:¥1,234.56 |
"yyyy/mm/dd" | 年/月/日 | 例:2023/10/17 |
"mm-dd-yyyy" | 月-日-年 | 例:10-17-2023 |
"yyyy年m月d日" | 年●月●日 | 例:2023年10月17日 |
"hh:mm" | 時:分 | 例:14:30 |
"hh:mm:ss" | 時:分:秒 | 例:14:30:00 |
"AM/PM hh:mm" | 午前/午後 表示 | 例:午後 02:30 |
"aaaa" | 曜日を表示 | 例:火曜日 |
"aaa" | 曜日の略称 | 例:火 |
プログラミング例
具体的なプログラミング例を紹介します。
Sub 日付を文字列に変換()
Dim 入力日付 As Date
Dim 形式 As String
Dim 結果文字列 As String
' セルA1の値を取得
入力日付 = Cells(1, 1).Value
' 表示形式を設定
形式 = "yyyy年mm月dd日"
' Text関数を使用して文字列に変換
結果文字列 = WorksheetFunction.Text(入力日付, 形式)
' 結果をメッセージボックスで表示
MsgBox 結果文字列
End Sub
Dim 入力日付 As Date
Dim 形式 As String
Dim 結果文字列 As String
' セルA1の値を取得
入力日付 = Cells(1, 1).Value
' 表示形式を設定
形式 = "yyyy年mm月dd日"
' Text関数を使用して文字列に変換
結果文字列 = WorksheetFunction.Text(入力日付, 形式)
' 結果をメッセージボックスで表示
MsgBox 結果文字列
End Sub
上記のプログラムは、Text関数を使って、入力日付を指定した形式の文字列に変換します。最後にMsgBoxを使って結果を表示します。
まとめ
Text関数を使うと、数値や日付を指定した形式の文字列に変換できます。表示形式は、Excelでセルの表示形式を設定する場合と同じ書き方です。この関数を使うことで、データを見やすく表示したり、レポートを作成したりする際に便利です。