CELLNETS Excel開発の専門会社

【VBA入門】任意の日付を基準に、月末と月初を求めるモジュールを作って効率よく使う

【VBA入門】任意の日付を基準に月末と月初を求めるModule

Excel実務では、営業、経理、総務部門など、売上や支払いなど、締め日などの日付の取得や変換などが多いもの。

みなさん、こんにちは。セルネッツ竹本です。

今回は、「月末の求め方」をテーマに、解説をしたいと思います。

◆考え方(アルゴリズム)がわかれば簡単!

任意の日付が与えられたとき、当該月の月末は、何年何月何日か。

取得したいのは、それだけです。

考え方のポイントは、「翌月1日」を最初に求めることです。

それが分かれば、「その前日」が、求めたい月末です。

うるう年も、大の月、小の月、問題なく取得できるはずです。

なーんだ、やっぱり。という方も多いと思います。

比較的、よく登場する処理は、専用のModuleを用意しておくと流用がきき、効率があがります。

◆こんなモジュールでOKです。

Public P_Before日付 As String
Public P_戻り値 As String

‘※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
Sub M_日付変換月末の取得(P_Before日付, P戻り値)
‘※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

 '// 翌月1日を取得
P_戻り値 = DateSerial(Year(P_Before日付), Month(P_Before日付) + 1, 1)

'// 翌月1日の前日を取得
P_戻り値 = DateSerial(Year(P_Before日付), Month(P_Before日付) + 1, 0)

Debug.Print P_戻り値

End Sub


実は、日付の操作は、とても頻度の高い文字列操作のひとつでもあります。

締め日、支払日を求めたり、生年月日が日数を求めたり、いろいろあります。


今回のテーマは、「月末の求め方」について、解説を行いました。

本記事が、Excel実務の効率化において、ご参考お役立てになれば幸いです。


関連記事

Excelシステム開発

Excelを複数人で共同編集できるExcel for the webとは?Excelオンラインの共有手順と業務改善事例

更新日:2026年9月5日

Excelシステム開発

販売管理はエクセルで十分?売上管理表・発注管理表の作り方と「限界」の乗り越え方

更新日:2026年9月5日

Excelシステム開発

勤怠管理はエクセルで自動化できる|関数の限界とマクロ活用・事例まで解説

更新日:2026年9月5日

Excelシステム開発

顧客管理はエクセルで十分?管理表の作り方5ステップと「限界」の見極め方をプロが解説

更新日:2026年9月5日

Excelシステム開発

マニュアル作成をエクセルで行う手順5ステップ|見やすく作るコツと「自動化」という選択肢

更新日:2026年9月5日

Excelシステム開発

請求書をエクセルで作る方法|テンプレート・関数・インボイス対応まで解説

更新日:2026年9月5日

Excelシステム開発

エクセルでプルダウン連動・自動入力する方法|値の自動入力とリスト連動をわかりやすく解説

更新日:2026年9月5日

Excelシステム開発

棚卸表を自動計算するエクセルの作り方|コピペで使える関数も解説

更新日:2026年9月5日

Excelシステム開発

エクセルの自動計算とは?設定方法・されない原因・自動計算表の作り方まで完全解説

更新日:2026年9月5日

newsite