大体でIT

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

大体でIT

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

はじめに

この記事では、現在の時間を取得する方法についてご紹介します。

現在の時間を取得する方法は、『Now』と『Time』の2つです。

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

現在の時間だけを取得したい場合は、Timeで取得します。

場面に応じて使い分けましょう。

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

この記事で紹介すること

  • 現在の日付を取得する方法

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

目次

ポイントとなるVBAコード

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

VBAコードだけ確認したい場合に、ご活用ください。

a = Now '今日の日付+現在の時間を取得
a = Time '現在の時間を取得

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

現在の時間を取得するVBAコードは2つ

現在の時間を取得するVBAコードは2つあって、次の2つです。

  • Now・・・今日の日付+現在の時間
  • Time・・・現在の時間

日付+時間がほしい場合は、Nowを使って、時間だけ取得したい場合は、Timeを使いましょう。

では、具体的なVBAコードを使って説明していきます。

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

つづいて、今日の日付と現在の時間を『Now』で取得してみます。

Sub TEST1()
    
    a = Now '今日の日付+現在の時間を取得
    
    MsgBox a
    
End Sub

実行してみます。

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

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

結果は、『2020/10/31 17:53:39』となりました。

これが今日の日付と現在の時間になります。

Timeで現在の時間を取得

現在の時間を『Time』で取得してみます。

Sub TEST2()
    
    a = Time '現在の時間を取得
    
    MsgBox a
    
End Sub

実行してみます。

現在の時間を取得

現在の時間をTimeで取得した結果

結果は、『17:53:09』となりました。

これが現在の時間になります。

現在の時間を取得する方法は、以上の2つになります。

現在の時間を取得するだけではなく、時間のフォーマットも変更したい場合があると思いますので、紹介していきます。

時間のフォーマットを変換する

時間のフォーマットを変換する方法をご紹介します。

フォーマットの変換は、『Format』を使います。

よく使うフォーマットはこちらです。

  • 長い時間に変換
  • 短い時間に変換
  • 12時間表記に変換
  • 時間だけに変換
  • 分だけに変換
  • 秒だけに変換

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

長い時間に変換

現在の時間を長い時間にフォーマットを変換するには、Formatに『"hh時mm分ss秒"』と入力します。

現在の時間を長い時間に変換してみます。

Sub TEST3()
    
    '現在の時間を長い日付に変換
    a = Format(Time, "hh時mm分ss秒")
    
    MsgBox a
    
End Sub

実行してみます。

長い時間に変換

Formatで現在の時間を長い時間に変換した結果

結果は、『17時53分54秒』となりました。

長い時間に変換できました。

短い時間に変換

現在の時間を短い時間にフォーマットを変換するには、Formatに『"hh:mm:ss"』と入力します。

現在の時間を短い時間に変換してみます。

Sub TEST4()
    
    '現在の日付を短い時間に変換
    a = Format(Time, "hh:mm:ss")
    
    MsgBox a
    
End Sub

実行してみます。

短い時間に変換

Formatで現在の時間を短い時間に変換した結果

結果は、『17:54:02』となりました。

短い時間に変換できました。

12時間表記に変換

現在の時間を12時間表記にフォーマットを変換するには、Formatに『"hh:mm:ss AM/PM"』と入力します。

現在の時間を12時間表記に変換してみます。

Sub TEST5()
    
    '現在の時間を12時間表記に変換
    a = Format(Time, "hh:mm:ss AM/PM")
    
    MsgBox a
    
End Sub

実行してみます。

12時間表記に変換

Formatで現在の時間を12時間表記に変換した結果

結果は、『05:54:14 PM』となりました。

12時間表記に変換できました。

時間だけに変換

現在の時間を時間だけにフォーマットを変換するには、Formatに『"hh"』と入力します。

現在の時間を時間だけに変換してみます。

Sub TEST6()
    
    '現在の時間を時間だけに変換
    a = Format(Time, "hh")
    
    MsgBox a
    
End Sub

実行してみます。

時間だけに変換

Formatで現在の時間を時間だけに変換した結果

結果は、『17』時となりました。

現在の時間を時間だけのフォーマットに変換できました。

分だけに変換

現在の時間を分だけにフォーマットを変換するには、Formatに『"nn"』と入力します。

月の『"mm"』と被るので、分だけのフォーマットにする場合は、『"nn"』です。

現在の時間を分だけに変換してみます。

Sub TEST7()
    
    '現在の時間を分だけに変換
    a = Format(Time, "nn")
    
    MsgBox a
    
End Sub

実行してみます。

分だけに変換

Formatで現在の時間を分だけに変換した結果

結果は、『54』分となりました。

現在の時間を分だけのフォーマットに変換できました。

秒だけに変換

現在の時間を秒だけにフォーマットを変換するには、Formatに『"ss"』と入力します。

現在の時間を秒だけに変換してみます。

Sub TEST8()
    
    '現在の時間を秒だけに変換
    a = Format(Time, "ss")
    
    MsgBox a
    
End Sub

実行してみます。

秒だけに変換

Formatで現在の時間を秒だけに変換した結果

結果は、『37』秒となりました。

現在の時間を秒だけのフォーマットに変換できました。

VBAで現在の時間をセルに入力

現在の時間をセルに入力することもできます。

Formatでフォーマットを変換すれば、そのまま入力することができます。

現在の時間を長い時間で入力

現在の時間を長い時間でセルに入力してみます。

Sub TEST9()
    
    '現在の時間を長い時間に変換
    a = Format(Time, "hh時mm分ss秒")
    
    'セルに入力
    ActiveSheet.Cells(1, 1) = a
    
End Sub

実行してみます。

長い時間でセルに入力

現在の時間を長い時間でセルに入力した結果

現在の時間を、長い時間の形式『18時08分46秒』でセルに入力できました。

入力されているデータは、『18:08:46』で時間の型となっています。

時間と認識できるフォーマットでセルに入力すれば、時間と認識してくれます。

現在の時間を短い時間で入力

現在の時間を短い時間でセルに入力してみます。

Sub TEST10()
    
    '現在の時間を短い時間に変換
    a = Format(Time, "hh:mm:ss")
    
    'セルに入力
    ActiveSheet.Cells(1, 1) = a
    
End Sub

実行してみます。

短い時間でセルに入力

現在の時間を短い時間でセルに入力した結果

現在の時間を、短い時間の形式『18:08:52』でセルに入力できました。

入力されているデータは、『18:08:52』で時間の型となっています。

現在の時間を12時間表記で入力

現在の時間を12時間表記でセルに入力してみます。

Sub TEST11()
    
    '現在の時間を12時間表記に変換
    a = Format(Time, "hh:mm:ss AM/PM")
    
    'セルに入力
    ActiveSheet.Cells(1, 1) = a
    
End Sub

実行してみます。

12時間表記でセルに入力

現在の時間を12時間表記でセルに入力した結果

現在の時間を、12時間表記の形式『6:08:58 PM』でセルに入力できました。

入力されているデータは、『18:08:58』で時間の型となっています。

12時間表記も時間と認識できるので、エクセルは時間と認識してくれています。

現在の時間を時、分、秒に分けて入力

現在の時間を時、分、秒に分けてセルに入力してみます。

Sub TEST12()
    
    a = Format(Time, "hh") '現在の時間の『時』を取得
    b = Format(Time, "nn") '現在の時間の『分』を取得
    c = Format(Time, "ss") '現在の時間の『秒』を取得
    
    'セルに入力
    With ActiveSheet
        .Cells(2, 1) = a
        .Cells(2, 2) = b
        .Cells(2, 3) = c
    End With
    
End Sub

実行してみます。

時、分、秒に分けてセルに入力

現在の時間を時、分、秒に分けてセルに入力した結果

現在の時間を時、分、秒に分けてセルに入力できました。

現在の時間をTimeで取得して、Formatでフォーマットを変換すれば、そのままの型でセルに入力することができます。

おわりに

この記事では、現在の時間を取得する方法についてご紹介しました。

現在の時間を取得する方法は2つあって、『Now』と『Time』があります。

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

現在の時間だけを取得したい場合は、Timeを使います。

使いたい場面に応じて使い分けていきましょう。

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

関連する記事から探す

カテゴリから探す

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

アーカイブから探す