大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで今日の日付を取得してセルに入力する方法についてご紹介します。今日の日付を取得する方法は2つあって、NowとDateです。現在日付だけ取得したい場合は、Dateで取得することができます。

はじめに

この記事では、今日の日付を取得する方法と、日付のフォーマットを変更する方法についてご紹介します。

今日の日付は、『Now』もしくは『Date』で取得して、表示形式は『Format』で変更できます。

日付は、ファイル名につけたり、セルに入力したりといろいろと使う場面があります。

今日の日付の取得と入力について覚えていきましょう。

では、説明していきます。

この記事で紹介すること

  • 今日の日付の取得方法
  • 日付の表示形式の変更
  • 日付を表示形式を変更してセルに入力

目次から見たい項目へ移動すると便利ですよ。

目次

ポイントとなるVBAコード

初めに、ポイントとなるVBAコードを記載しておきます。

a = Now '今日の日付+現在の時間
a = Date '今日の日付

VBA関数だけ確認したい場合に、ご活用ください。

今日の日付を取得するVBAコードは2つ

今日の日付を取得するVBAコードは2つで、『Now』と『Date』です。

違いは、時間が入っているかいないかです。

  • 今日の日付+現在の時間:Now
  • 今日の日付:Date

という感じです。

では、使い方を説明してきます。

Nowで今日の日付+現在の時間を取得

今日の日付と現在時間を取得したい場合は、『Now』でできます。

やってみます。

今日の日付と現在の時間を取得するVBAコードです。

Sub TEST1()

    a = Now '今日の日付+現在の時間
    
    MsgBox a
    
End Sub

実行します。

今日の日付と現在の時間を取得

Now今日の日付と現在の時間を取得した結果

今日の日付と現在の時間を取得できました。

簡単です。

取得した日付は、Date型になります。

Date型で取得してくれるので、日付の計算などもできます。

Dateで今日の日付を取得

今日の日付だけを取得したい場合は、『Date』でできます。

やってみます。

今日の日付だけを取得するVBAコードです。

Sub TEST2()
    
    a = Date '今日の日付
    
    MsgBox a
    
End Sub

実行します。

今日の日付を取得

Dateで今日の日付だけを取得した結果

今日の日付だけを取得できました。時間は入っていません。

日付だけほしい場合は、『Date』を使うといいです。

こちらの値も、Date型なので、日付の演算もできます。

今日の日付の取得については、これだけです。

日付のフォーマットを変更する

実際に使う場合は、今日の日付を取得するだけではなく、フォーマットを変換したいという場合があると思います。

なので、日付のフォーマットを変更する方法についても説明します。

一般的に使われそうなフォーマットの変換を記載します。

フォーマットの変更は『Format』を使えばできます。

少し長いので、気になるところだけをみるといいです。

今日の日付をyyyymmdd形式で取得

今日の日付をyyyymmdd形式で取得したい場合は次のようにFormatの引数に『"yyyymmdd"』を入力します。

Sub TEST3()
    
    '今日の日付を数値8桁に変換
    a = Format(Date, "yyyymmdd")
    
    MsgBox a
    
End Sub

実行します。

今日の日付をyyyymmdd形式に変換

今日の日付をFormatでyyyymmdd形式に変換した結果

今日の日付を、yyyymmdd形式で取得できました。

Formatで変換した後は、文字列に変換されます。

これは、ファイル名に日付を追加したい場合によく使われる変換です。

ファイル名には『/』は使えないですからね。

今日の日付を長い書式に変換

これもよく使われるかと思います。

今日の日付を長い書式に変換する方法です。Formatの引数に『"yyyy年mm月dd日"』を入力します。

Sub TEST4()
    
    '今日の日付を長い日付に変換
    a = Format(Date, "yyyy年mm月dd日")
    
    MsgBox a
    
End Sub

VBAを実行します。

今日の日付を長い日付に変換

Formatで長い書式に変換した結果

長い書式に変換できました。

今日の日付を和暦に変更

これは役所とかで使いますかね。

今日の日付を和暦に変換する方法です。Formatの引数に『"ggge年mm月dd日"』と入力します。

Sub TEST5()
    
    '今日の日付を和暦に変換
    a = Format(Date, "ggge年mm月dd日")
    
    MsgBox a
    
End Sub

VBAを実行します。

今日の日付を和暦に変換

Formatで今日の日付を和暦に変換した結果

今日の日付を和暦に変換できました。

今日の日付に曜日をつける

日付に曜日を付けると日付の感覚がわかりやすくなります。

今日の日付に曜日を付けて変換する方法です。Formatの引数に『"yyyy/mm/dd(aaa)"』を入力します。

Sub TEST6()
    
    '今日の日付に曜日をつける
    a = Format(Date, "yyyy/mm/dd(aaa)")
    
    MsgBox a
    
End Sub

VBAを実行します。

今日の日付に曜日をつける

Formatで今日の日付に曜日をつけて変換した結果

日付に曜日を付けて変換できました。

VBAで今日の日付をセルに入力

今日の日付をセルに入力する方法です。

現在の日付を取得して、Formatで書式変換したものをセルに入力すれば、変換後の表示でセルに入力できます。

実際にやってみます。

今日の日付をyyyy/mm/dd形式で入力

今日の日付をyyyy/mm/dd形式でセルに入力したい場合は、『Date』をそのままセルに入力すればできます。

Sub TEST7()
    
    'セルに今日の日付を入力
    ActiveSheet.Cells(1, 1) = Date
    
End Sub

実行してみます。

今日の日付をyyyy/mm/dd形式でセルに入力

今日の日付をyyyy/mm/dd形式でセルに入力した結果

yyyy/mm/dd形式で入力できています。

表示形式は、日付になっています。

このyyyy/mm/dd形式で入力すれば、エクセルが自動で表示形式を変更してくれるんですね。

今日の日付をyyyymmdd形式で入力

今日の日付をyyyymmdd形式で入力してみます。Formatに『"yyyymmdd"』を入力します。

Sub TEST8()
    
    '今日の日付を数値8桁に変換
    a = Format(Date, "yyyymmdd")
    
    ActiveSheet.Cells(1, 1) = a
    
End Sub

VBAコードを実行してみます。

今日の日付をyyyymmdd形式でセルに入力

今日の日付をyyyymmdd形式でセルに入力した結果

yyyymmdd形式で入力できました。

こちらは、表示形式は標準のままです。

今日の日付を長い西暦で入力

今日の日付を長い日付の西暦でセルに入力したい場合は、Formatに『"yyyy年mm月dd日"』を入力します。

Sub TEST9()
    
    '今日の日付の長い日付に変換
    a = Format(Date, "yyyy年mm月dd日")
    
    ActiveSheet.Cells(1, 1) = a
    
End Sub

実行してみます。

今日の日付を長い日付でセルに入力

今日の日付を長い日付でセルに入力した結果

長い日付の表示形式で入力できました。

こちらは、表示形式は標準のままです。

エクセルに日付と認識させたい場合は、yyyy/mm/dd形式で入力して、セルの表示形式を変えましょう。

今日の日付を和暦でセルに入力

今日の日付を和暦で入力してみます。Formatに『"ggge年mm月dd日"』を入力します。

Sub TEST10()
    
    '今日の日付を和暦に変換
    a = Format(Date, "ggge年mm月dd日")
    
    ActiveSheet.Cells(1, 1) = a
    
End Sub

VBAコードを実行してみます。

今日の日付を和暦でセルに入力

今日の日付を和暦でセルに入力した結果

和暦で今日の日付をセルに入力できました。

表示形式は、自動的に日付に変更されました。

和暦はエクセルに日付と自動的に認識されます。

今日の日付に曜日をつけてセルに入力

今日の日付に曜日をつけてセルに入力してみます。Formatに『"yyyy/mm/dd(aaa)"』を入力します。

Sub TEST11()
    
    '今日の日付に曜日を付けて変換
    a = Format(Date, "yyyy/mm/dd(aaa)")
    
    ActiveSheet.Cells(1, 1) = a
    
End Sub

VBAコードを実行してみます。

今日の日付に曜日をつけてセルに入力

今日の日付に曜日をつけてセルに入力した結果

今日の日付に曜日をつけて、セルに入力できました。

表示形式は、標準のままです。

こちらの場合も、エクセルに日付と認識させたい場合は、yyyy/mm/dd形式で入力して、セルの表示形式を変えましょう。

Formatを使って、セルに日付を入力する場合は、注意が必要です。

エクセルに日付と認識させたい場合は、yyyy/mm/dd形式で入力しましょう。

おわりに

この記事では、今日の日付を取得する方法と、日付のフォーマットを変更する方法についてご紹介しました。

今日の日付は、『Now』もしくは『Date』で取得できて、表示形式は『Format』で変更できます。

今日の日付は、ファイル名につけたり、セルに入力したりといろいろと使い方があります。

日付の取得と入力に慣れていきましょう。

参考になればと思います。最後までご覧くださいましてありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す