ACCESS VBAで毎月の指定日を求める方法(VBAコード公開)

VBAで処理をする際、毎月10日や毎月20日など、支払日や請求日を求めたい場合があると思います。

そんな時に利用できる、VBAのコードを作成しましたので作成方法を含めてご紹介します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは基本機能だけでも十分便利ですが、VBAを使うことで格段に使いやすいデータベースを作成可能です。
この記事ではACCESSでのVBAの使い方をご紹介していきます。

構文

毎月の指定日は、以下のVBAの構文で求めることができます。

結果日付 = DateValue(Year(元の日付) & “/” & Month(元の日付) & “/” & 指定日)

日本語の部分は実際には変数や数値を入れて利用します。

元の日付を代入する前に前月や翌月にする処理を組み合わせれば、前月の指定日や翌月の指定日も簡単に求められます。

当月20日のデータの作成方法

例として、当月20日のデータを変数処理で求めてみましょう。

この記事を書いているのは2022年2月19日ですので、この日付を入れると2022年2月20日が結果として出るようにします。


Public Function maitsuki_20(x As Date) As Date
    
    maitsuki_20 = DateValue(Year(x) & "/" & Month(x) & "/" & 20)
    
    MsgBox maitsuki_20
    
End Function

ここでは、maitsuki_20という変数に、当月の20日の日付を計算して格納し、最後にメッセージボックスで表示しています。

実行すると下記のようになります。

処理内容としては、Year関数とMonth関数を使ってそれぞれ当月の「年」と「月」を求め、日付だけは20を固定で指定して、それぞれを「/」でつないだデータにします。

これだけだと日付型データとして認識されませんので、DateValue関数で日付型データに変換しています。

以上、VBAで毎月の指定日を求める方法をご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

サービス一覧

最後までお読みいただき、ありがとうございました。