[Excel][VBA]うるう年かどうか?のチェック処理サンプル
トップページへ
※全てのExcelで動作する保証はありません。また、内容に関し管理人は全ての責任を負いかねます
サンプル ※説明に必要な部分しか記述していません
→Excelメニューへ戻る
色々な方法が考えられますが、ここでは毎年必ずある日にち(2/28)を使って、
2月28日の翌日が
「29日だったら、うるう年」「29日ではないなら、うるう年ではない」という判定をしています。
そのためDateAdd関数がポイントです。
実行すると
Private Sub CommandButton1_Click() Dim w_yyyymmdd As Variant w_yyyymmdd = DateAdd("d", 1, "2020/2/28") Sheet1.Range("A1").Value = CDate(w_yyyymmdd) If Day(w_yyyymmdd) = 29 Then Sheet1.Range("B1").Value = "うるう年です" Else Sheet1.Range("B1").Value = "うるう年ではありません" End If End Sub
このサンプルでは2020年なので
うるう年です
と表示されます。
下記はヘルプからの引用です
構文
DateAdd(interval, number, date) DateAdd 関数を使うと、ある日付に対して指定した時間間隔を、加えたり引いたりすることができます。 DateAdd 関数が無効な日付を返すことはありません。
Day(date) 月の何日かを表す 1~31 の範囲の整数を表すバリアント型 (内部処理形式 Integer の Variant) の値を返します。
→Excelメニューへ戻る