VBA【先月末/今月末/来月末を取得する方法】

ロゴ



The following two tabs change content below.
アバター

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

どうも、taka(@takabou63)です(^^♪

さて、プログラムを作成しているときに日付操作が必要になるときはよくありますよね(・・?

そんな時に現在の日付を取得するのはごく簡単ですよね?

ですがふと先月末/今月末/来月末を取得したい時があります。VBAの初心者や入門者の方では関数をそのまま使っても取得ができないので困ってしまう事があるのではないでしょうか?

そんなことにならないように今回はVBAで今月末・来月末を取得する方法をご紹介します。

今回使うDateserial関数についてはこちら【VBA 【Dateserial関数】

VBAで先月末/今月末/来月末を取得する方法

では 先月末/今月末/来月末を取得するにはどうしたらいいのか?

月末を取得するにはDateSerial関数で紹介した来月初めを取得した方法の応用です。

実際にコードにしてみます。

実行結果ではそれぞれ先月末/今月末/来月末が取得できたのではないでしょうか?

下記にてコードの解説をしていきます!

サンプルコードの解説

まず上記のコードを見てVBAを始めたばかりの方は

これがなぜ先月末になるのか?と思ったのではないでしょうか?(‘ω’)

Dayの部分を0にしたのだから1日を返すんじゃないのか?と。

これはDateSerial関数の特性にあります。DateSerial関数のDayは1~31の数値を日付に変換します。ですが他の数値が使えない訳ではありません。

前回の記事で【Month(月)の部分で13を入力すると翌年の一月に変換されて返される】という事を紹介しました。それと同じことがDayでも行われます。

日付は【1日から始まって28日や31日まででその月が終了します。

1日から始まるので【0と記入】した場合は【1日の前の日】にあたる前月末と判断されるという事になるのです。

なので今月末を取得するには【来月1日の一日前】というコードを記述する必要があるのです。

来月末も同様です。

来月1日の一日前】というコードを書きます。

フォロー・チャンネル登録お願いします

■Twitterフォロー

■YouTubeチャンネル登録

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver

ロゴ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です