[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メニューへ戻る

 






関連記事
[Excel]2ページではなく1ページで印刷したい