Excel上級者

ExcelVBAで今日の日付を取得する際の注意点

しんたろ。

本記事では、今日の日付を取得する方法と、日付の書式を変更する方法をご紹介します。

今日の日付は「Now関数」または「Date関数」で取得できます。

日付はファイル名やセルに入力されるなど、さまざまな場面で使われるので、今日の日付の取得と入力の方法を学んでいきましょう。

便利すぎてごめんなさい!

ExcelVBAのコードをLINEbotが自動生成!
↓友だち追加して作業効率化アップさせてね↓

友だち追加
Excel

ExcelVBA 日付関数の説明

ExcelVBAのNow関数は、2つの日付の間の日数を計算するために使用することができます。これは、一方の引数に開始日、もう一方の引数に終了日を入力することで行えます。

そして、Now関数は、2つの日付の差を返します。

これは、開始日と終了日を引き算することによって行われます。この結果は、1日のミリ秒数(86400000)で割ることができます。

また、Now関数を使用して、2つの日付間の時間数を計算することもできます。これは、開始日と終了日を差し引き、その結果を1時間あたりのミリ秒数(3600000)で割ったものです。

ExcelVBAのDate関数とは?

ExcelVBAのDate関数は、現在のシステム日時や特定の日付を取得することができます。

yearは4桁の年(1900年から9999年まで)。月 は、1(1月)から12(12月)までの整数です。日は,1から指定された年の指定された月の日数までの整数です。

引数なしで Date 関数を使用すると、現在の日付が返されます。引数として日付が入力された場合は、引数で指定された日付を返します。

例として、2022年1月1日を表す日付型の変数を生成するため次のようにします。

日付関数を使用することで、日付を扱うVBAプログラムを作成する際に、より簡単に日付を扱うことができます。

Date関数には、日付を表す文字列を解除することもできます。例、次のようにすることで、文字列「”2022/1/1″」を日付型の変数に変換することができます。

また、Excel VBAでは、日付を扱う場合、「#」で止めることで、日付型の文字列を表すこともできます。 例、次のようにすることで、日付型の文字列「”#2022 /1/1#”」を日付型の変数に変換することができます。

ExcelVBAのNow関数とは?

Microsoft Excel では、このNow関数は現在の日付と時刻をシリアル番号として返します。現在の日付と時刻をワークシートのセルに挿入するために使用できます。

たとえば、次の数式は現在の日付と時刻をセル A1 に挿入します。

結果は、システムの地域設定で指定された形式で日付と時刻として表示されます。

NowExcel の VBA (Visual Basic for Applications) コードで関数を使用することもできます。たとえば、次のように現在の日付と時刻をセルに挿入するために使用できます。

これにより、アクティブなワークシートのセル A1 に現在の日付と時刻が挿入されます。

このNow関数は日付と時刻をシリアル値として返すため、特定の形式で日付と時刻を表示するには、セルの書式を設定する必要がある場合があります。次のように、Format関数で行うことができます。

これにより、現在の日付と時刻が「mm/dd/yyyy hh:mm:ss」の形式でセル A1 に挿入されます。 (例: 「12/17/2022 14:30:00」)

Now関数をマクロで使用する場合

ExcelVBA マクロで関数を使用する方法の例を次に示します。

このマクロを実行すると、現在の日付と時刻がメッセージ ボックスに表示されるよ。

関数を使用して、現在の時刻を type の変数に代入することにより、数値として取得することもできます。

これにより、現在の時刻が数値として表示されます。これは、1899 年 12 月 30 日の午前 0 時からの日数を表します。

ExcelVBA 休日を確認する方法

今日の日付の代表的な使い方として、指定した日付が休日かどうかのチェックがあります。VBAでは「DateAdd」関数を使って簡単にチェックすることができます。

DateAdd関数は、いくつかのパラメータ、追加する日数、月数を受け取ります。

例えば、ある日付に2日と2ヶ月を足すと次のようになります。

これは、指定された日付から2日と2ヶ月が休日に当たるかどうかをチェックするものです。

さらに指定された日付が休日かどうかをチェックすることもできます。
たとえば、祝日のテーブルを用意して与えられた日付がそのテーブルの祝日のいずれかに一致するかどうかをチェックする条件を設定します。

関数を使用するには、次のようにします。

このようにして、VBA を使用して Excel シート内で休日を確認することができます。

上記の例では、2022 年 1 月 1 日と 1 月 2 日が休日として定義されています。そのため、1 月 1 日を確認すると休日であると判定されます。によって休日が異なるため、休日を基準条件式を適切に記述する必要があります。

ExcelVBAの日付加算の使い方

日付を表す変数を宣言
変数に日付を代入
変数に日を加算
加算した日付を使用
日付を計算するときは、日付を表す変数を使用する必要がある。
また、日付を計算するときは変数を使用する必要がある。

上記の例では、日付を計算する必要があり日付を表す変数を使用し、その変数に日付を計算することで、新しい日付を計算することができます。

ExcelVBA IsDateの使い方

IsDate関数は、指定した値が有効な日付であるかどうかを確認するために使用します。

IsDate関数の使用方法は、IsDate(Expression)という構文になります。

Expressionパラメータには、文字列またはDateデータ型を指定します。

IsDate関数はブール値を返します。Expressionが有効な日付である場合、この関数はTrueを返し、そうでない場合はFalseを返します。

たとえば、「1/1/2000」という値が有効な日付であるかどうかを確認するには、次のコードを使用します。

IsDate(“1/1/2000”)とすると、Trueが返されます。これは、ユーザーの入力を検証したり、特定の値が有効な日付であるかどうかをチェックするのに便利です。

以下に、IsDate 関数の使い方を示します。

コードの使い方は以下の例を参考ください。

IsDate関数を使用することで、日付として有効な文字列かどうかを確認することができます。

つまり、IsDate関数で判定できる日付の形式は、Excelのセルに入力された日付の形式と同じです。 IsDate関数でも「2022/12/18」を日付として有効と判定できます。

ExcelVBA IsNumericの使い方

IsNumeric関数は、与えられた値が有効な数値であるかどうかをチェックするために使用します。IsNumeric関数の構文は、IsNumeric(Expression)です。

Expression パラメータには、文字列または数値データ型を指定します。

IsNumeric関数はブール値を返します。Expressionが有効な数値である場合、この関数はTrueを返し、そうでない場合はFalseを返します。

たとえば、「123」という値が有効な数値であるかどうかを調べるには、次のようなコードを使用します。IsNumeric(“123”)とすると、Trueが返されます。これは、ユーザーの入力を検証したり、特定の値が有効な数字であるかどうかをチェックするのに便利です。

以下に、IsNumeric 関数の使い方を示します。

コードの使用方法はこちらを参照ください。

IsNumeric関数を使用することで、数値として有効な文字列かどうかを確認することができます。

IsNumeric関数で判定できる数値の形式は、Excelのセルに入力された数値の形式と同じです。 つまり、Excelのセルに “123” のような形式で数値を入力できる場合は、IsNumeric関数でも「123」を数値として有効と判定できます。

全会社員を残業地獄から救いたい
本ブログの有効活用方法
1
Concept
初心者に分かりやすい解説

しんたろ。ブログでは「少しでも残業を減らしたい」「時間効率を上げて新しいことにチャレンジしたい」「仕事で評価を上げて年収を上げたい」そんなあなたに向けて私が学んできたノウハウを最短ルートで教えるExcelブログとなっています。

覚えておくべき関数や操作方法を徹底解説!

2
Concept
Excelを最短で
習得する方法を解説

「独学で習得できる気がしない」そんな方に効率よく習得できる記事を書きました。

本や動画を紹介していますが、やはり一番効率の良い習得方法は、講師にわからないことを質問できる『オンラインスクール』です。

3
Concept
Excelが大活躍!
会社員でも不就労所得を作れる。

「会社の収入だけでは不安」そう思い出会った副業がブログでした。書いた記事たちが、あなたが寝ている間もずっと働いてくれます。『不就労』の完成です。

記事を書く際の様々な分析にExcelがとても役立ちます。私は2023年末までにブログで脱サラする予定です!

あなたもブログで脱サラしましょう!

ABOUT ME
しんたろ。
しんたろ。
脱サラ目指す会社員
仕事ができなくて毎日上司に叱責されていた私がExcelを学んだら評価され残業を大幅に削減!現在は職場改善チームに所属し、PythonやRPAなどのツールで会社全体の改善をしています。早期FIREするための副業もしています。あなたの人生も変えたい!ぜひ本ブログをご活用ください。
記事URLをコピーしました