VBA/Format関数を使って日付の書式を操作する
の編集
Top
/
VBA
/
Format関数を使って日付の書式を操作する
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * VBAのFormat関数を使って日付の書式を操作する [#uf861d81] 日付をyyyymmdd,時間付きのyyyymmdd hhmmss, 和暦にするサンプルを以下に記します。 #contents #htmlinsert(office_ads_top.html) * 動作確認環境 [#q8ea5104] - Windows 10 22H2 - Microsoft® Excel® for Microsoft 365 MSO (バージョン 2310 ビルド 16.0.16924.20054) 32 ビット * 関連サイト [#g6a8b64c] -[[Microsoft Learn: Format 関数 (Visual Basic for Applications)>https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/format-function-visual-basic-for-applications]] * yyyy/mm/dd hh:nn:ss に変換してみる [#y7a10da9] 年月日時分秒に変化するサンプルです。~ 月と分が同じ mm になりますが、VBAは適切な処理をしてくれます。~ しかし、nn と記述することも可能なので、分は nn と記述したほうがわかりやすいですね。 ** サンプルコード [#p4d1e384] Option Explicit Sub DateFormatSample() Dim dt As Date Dim fmt1 As String, fmt2 As String Dim str1 As String, str2 As String dt = Now fmt1 = "yyyy/mm/dd hh:mm:ss" str1 = Format(dt, fmt1) fmt2 = "yyyy/mm/dd hh:nn:ss" str2 = Format(dt, fmt2) MsgBox (fmt1 & ": " & str1 & vbCrLf & fmt2 & ": " & str2) End Sub ** 実行結果 [#j3938050] 上記サンプルコードの実行結果です。 #ref(01.png) #br * 和暦変換してみる [#i5cbd0fe] 和暦のフォーマットは以下のようにになります。 |~記号|~変換例| |gggee|令和05| |ggge|令和5| |ggee|令05| |gge|令5| |gee|R05| |ee|05| |e|05| ** サンプルコード [#o39e8f4e] Option Explicit Sub DateFormatSample() Dim dt As Date dt = Now MsgBox ( _ "Now: " & dt & vbCrLf & _ "gggee: " & Format(dt, "gggee") & vbCrLf & _ "ggge: " & Format(dt, "ggge") & vbCrLf & _ "ggee: " & Format(dt, "ggee") & vbCrLf & _ "gge: " & Format(dt, "gge") & vbCrLf & _ "gee: " & Format(dt, "gee") & vbCrLf & _ "ee: " & Format(dt, "ee") & vbCrLf & _ "e: " & Format(dt, "e") & vbCrLf _ ) End Sub ** 実行結果 [#ucb66756] 上記サンプルコードの実行結果です。 #ref(02.png) #br 以上、Format関数を使って日付の変換と和暦への変換サンプルコードでした。 #htmlinsert(office_ads_btm.html)
タイムスタンプを変更しない
#navi(../) * VBAのFormat関数を使って日付の書式を操作する [#uf861d81] 日付をyyyymmdd,時間付きのyyyymmdd hhmmss, 和暦にするサンプルを以下に記します。 #contents #htmlinsert(office_ads_top.html) * 動作確認環境 [#q8ea5104] - Windows 10 22H2 - Microsoft® Excel® for Microsoft 365 MSO (バージョン 2310 ビルド 16.0.16924.20054) 32 ビット * 関連サイト [#g6a8b64c] -[[Microsoft Learn: Format 関数 (Visual Basic for Applications)>https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/format-function-visual-basic-for-applications]] * yyyy/mm/dd hh:nn:ss に変換してみる [#y7a10da9] 年月日時分秒に変化するサンプルです。~ 月と分が同じ mm になりますが、VBAは適切な処理をしてくれます。~ しかし、nn と記述することも可能なので、分は nn と記述したほうがわかりやすいですね。 ** サンプルコード [#p4d1e384] Option Explicit Sub DateFormatSample() Dim dt As Date Dim fmt1 As String, fmt2 As String Dim str1 As String, str2 As String dt = Now fmt1 = "yyyy/mm/dd hh:mm:ss" str1 = Format(dt, fmt1) fmt2 = "yyyy/mm/dd hh:nn:ss" str2 = Format(dt, fmt2) MsgBox (fmt1 & ": " & str1 & vbCrLf & fmt2 & ": " & str2) End Sub ** 実行結果 [#j3938050] 上記サンプルコードの実行結果です。 #ref(01.png) #br * 和暦変換してみる [#i5cbd0fe] 和暦のフォーマットは以下のようにになります。 |~記号|~変換例| |gggee|令和05| |ggge|令和5| |ggee|令05| |gge|令5| |gee|R05| |ee|05| |e|05| ** サンプルコード [#o39e8f4e] Option Explicit Sub DateFormatSample() Dim dt As Date dt = Now MsgBox ( _ "Now: " & dt & vbCrLf & _ "gggee: " & Format(dt, "gggee") & vbCrLf & _ "ggge: " & Format(dt, "ggge") & vbCrLf & _ "ggee: " & Format(dt, "ggee") & vbCrLf & _ "gge: " & Format(dt, "gge") & vbCrLf & _ "gee: " & Format(dt, "gee") & vbCrLf & _ "ee: " & Format(dt, "ee") & vbCrLf & _ "e: " & Format(dt, "e") & vbCrLf _ ) End Sub ** 実行結果 [#ucb66756] 上記サンプルコードの実行結果です。 #ref(02.png) #br 以上、Format関数を使って日付の変換と和暦への変換サンプルコードでした。 #htmlinsert(office_ads_btm.html)
テキスト整形のルールを表示する
添付ファイル:
02.png
438件
[
詳細
]
01.png
405件
[
詳細
]