• 締切済み

指定年月の最終日を取得する関数

おせわになります。 現在VBでシステムを開発中なのですが、 年と月を指定してその月の最終日を取得するという 関数を探しています。 よろしくお願いします。

みんなの回答

  • josyo_m
  • ベストアンサー率63% (28/44)
回答No.1

お疲れ様です。 そのような関数はあるかどうかは知りませんが、求めることは出来ます。 考え方は、その年月の次の月の先頭日(n月1日)の前日は、その年月の末尾です。 (例   '// 求めたい年月   strDATE = "2002/02/21"   strDATE = DateAdd("m", 1, strDATE)  '// 日付+1月する   strDATE = Format$(strDATE, "YYYY/MM/") & "01"  '// +1月した日付の先頭日   strDATE = DateAdd("y", -1, strDATE)  '// 次の月の先頭日の前日がその月の最終日 ※"y"は「年」ではなく「年間通算日」 (結果   strDATE = "2002/02/28" 間違っていたらごめんなさい。

takataka111
質問者

お礼

早速のご返答ありがとうございました。 DateSerial(2001, 4 + 1, 1) - 1 以上のように求められるそうです。 ありがとうございました。

関連するQ&A

  • 年、月、日を取得する関数

    ストアドプロシージャで現在日付を取得するには GETDATE() を使いますが、年、月、日をそれぞれ取得したいのですがその方法(関数?)がわかりません。 また、取得した年、月、日は項目(Smallint)に書き込みます。 以上、よろしくお願いします。

  • Excelでの当該月の最終日取得について

    Excel2000を使用しています。 質問なんですが、年月を指定してその月の最終日を取得するにはどうすれば良いのでしょうか? 例えば、2004年2月の最終日を取得する場合。 セルA1に 2004  セルA2に   2 を入力して セルA3に  29 と表示させたいのです。 よろしくお願いします。

  • C#で指定した月の最後の日を取得する方法

    お世話になります。 C#(.net2.0)で指定した年、月の最後の日を取得する方法はどのようにしたら良いのでしょうか? 例えば2008年の2月は「29」のように。 よろしくお願い致します。

  • エクセルVBAで、月の最終日セルを取得する方法を教えて下さい。

    エクセルで、あるデータを入れるための、1ヶ月の表を作成しています。 1ヶ月は毎月21日から、翌月20日までです。 セルA1に、作成したい月の最初の日付、たとえば2008/5/21と入力し、 マクロボタンを押すと、 A5に2008/5/21、B5に2008/5/22、C5に2008/5/23・・・・(表示は21,22,23) と自動で出るようにしました。 この時5/31と6/1の間に罫線を1本、入れたいのです。 月によって、6/31と7/1の間、2/28と3/1の間というふうに。 月の最終日、もしくは最初を取得して、VBAで罫線を指定したいのですが、 この最終日の指定の方法がわかりません。 どのようにしたら良いか、教えて下さい。

  • エクセル:関数で月末日を取得したい

    お世話になります。 次のような関数を教えてください。どこかでみかけたのですが・・・(思い出せません) A1.....................................B1 2006/4/10 .............(........ ) ◆セルA1の日付からB1にその月の「月末日(2006/4/30)」を取得したい。 ◆例えば、A1に閏年の2月を入れるとその月末日をB1に正しく取得できますように教えてください。 以上、よろしくお願いいたします。

  • 対象月が何日まであるか調べたい。

    C#環境です。 たとえば、2000年2月の月末日(最終日)が何日なのかを 調べたいと思っているのですが、そのような関数などが ありましたら教えていただけないでしょうか? 現在、コンストで1月は31日が最終日…と設定していますが、 2月に関してはうるう年の絡みもあるので、入力年月から 最終日が調べられたらな…と思っています。

  • エクセル 月の最終日を算出

    エクセルで 入力した年月の最終日を算出するにはどうしたらよいでしょうか。 関数を調べてみましたが、それらしきものが見当たりません。 関数初心者ですのでご教授をよろしくお願いします。 ex. 2006年12月の時「31」、2007年2月の時「28」・・・   A1セルに年「18」入力(和暦で入力したいです)   B1セルに月「12」入力    でC1セルに「31」を表示。

  • 月の最終日を取得する(月は変数が入る)

    Public Const 今年度 = "2008" Public 月 As Long Sub test() 月 = 3 MsgBox CDate(今年度 & "/" & 月 & "/31 ") End Sub なら3月の最終日を無理やり表示させられますが 4月なら30日、5月なら31日と変数を代入した場合もその月の最終日を表示させるにはどうすればいいのでしょうか? ・月は他のプロシージャーで代入しています。(今月と言う意味ではないです。) ・月はLong型よりdate型のほうがいいのでしょうか? ・たくさんのプロシージャーに今年度 を代入している為Public Constで宣言しています。ただこれのデータ型はどうなのでしょうか? ・エクセル2003です。 よろしくお願い致します。

  • 月が変わっても20日までを範囲指定したい

    windows10、microsoft365使用の超初心者です。 セルB27~B57(31行)に他シートから関数を貼り付けています。 その関数は=Vlookup(A27,計算データ,2,False)から =Vlookup(A57,計算データ,2,False)までです。 セルB27~セルB57には、毎月21日~翌月20日までのが 日付が表示されます。 やりたいことは、その期間の範囲指定をしたいです。 今のやり方は、大の月はいいのですが、2月とか30日までしかないときは 翌月の21日まで指定してしまいます。 sub 範囲指定20日まで() Range("B27").Resize(Day(DateSerial(Year(Date), Month(Date), 0)), 58).Select End sub これを、月が変わっても必ず20日までを範囲指定したいです。ご指導よろしくお願いします。

  • VB2008 iniファイルの指定セクション内の値のみを取得

    VB2008 iniファイルの指定セクション内の値のみを取得 VB2008でiniファイルの読込みを行いたいと思っています。 指定セクション内の値のみを取得したいのですが、自分の知る限りではキー名も一緒についてきて しまいます。 簡単に値のみを取得する方法を助言いただきたいと思います。 自分が検討した一番近かった方法は、GetPrivateProfileSection関数を使用し、キー名と値を取得。 ↑ただし、キー名はいらない。 関数で出来ればいいのですが、出来なければ、プログラミングで値のみを抜き取る方法でもいいので なるべく簡単な方法を宜しくお願いします。