
No.1ベストアンサー
- 回答日時:
つまりは、プログラム言語的な言い方をすれば、うるう年の定義は「4で割り切れて100で割り切れない年はうるう年である。
または400で割り切れる年はうるう年である。」ということでいいすね?そうであれば仮に、A1セルに調べたい西暦年を数値でいれてあるとして、
Sub URUU()
y = Cells(1, 1).Value
If ((y Mod 4) = 0 And (y Mod 100) <> 0) Or (y Mod 400) = 0 Then
MsgBox y & "年はうるう年です"
Else
MsgBox y & "年の2月は28日までです"
End If
End Sub
でいいと思います。
うるう年の定義は自分では調べていませんので念のため。
No.3
- 回答日時:
No.2です。
>なぜ西暦の年数を長整数型に変換しているのでしょうか?
ああ、そうですね、DateSerial関数の引数には、整数型(Integer)とヘルプにありますね。
その場合は、
Dim tempYear As Integer
tempYear = CInt(Range("A1").Value)
また、VBAは自動的に型変換してくれるから、
tempYear = Range("A1").Value
でもいいかも知れませんね。
さらに、DateSerial関数の引数に指定した段階で型変換してますしね。
No.2
- 回答日時:
こんにちは。
maruru01です。質問の主旨とは違うかも知れません。
VBAでは、100~9999年の閏年はすべて組み込まれているので、それを利用する方法があります。
A1に西暦の年数を入力するとして、
Sub Macro()
Dim tempYear As Long
tempYear = CLng(Range("A1").Value)
If Day(DateSerial(tempYear, 2, 29)) = 29 Then
MsgBox tempYear & "は閏年です。"
Else
MsgBox tempYear & "は閏年ではありません。"
End If
End Sub
この回答へのお礼
お礼日時:2004/09/17 17:41
ありがとうございました。
VBAにうるう年が組み込まれているんですか、勉強になりました。
ところで CLng とは見たことが無かったので今調べましたら長整数型とのことでしたが、なぜ西暦の年数を長整数型に変換しているのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PowerPointのスライドの途中で...
-
パワーポイント「スライドショ...
-
パワーポイントについて。背景...
-
パワーポイントの表
-
PowerPointで、作成されたファ...
-
パソコンの印刷の向きを変えたい
-
パワーポイント、円グラフの1...
-
キーノートとパワポの機能の違い
-
27歳の彼氏と電化製品を見に行...
-
Microsoft Office2016をOffice2...
-
パワーポイントで、プレゼン用...
-
パワーポイントで説明しながら...
-
パワーポイントのアニメーショ...
-
【パワーポイントのフォントが...
-
you tubeにパワポで作った動画...
-
ExcelのグラフをPowerPointに貼...
-
ExcelのVBAコードについて教え...
-
【画像あり】パワーポイントの...
-
皆さん、おはようございます♪ ...
-
Microsoft Outlook本文に、パワ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
人月を時間にすると?
-
月/日(曜日)から、西暦付きで...
-
確率
-
13日の金曜日のまわってくる周期
-
エクセル 2カ月以内で最も遅い...
-
Excel での シリアル値について
-
曜日を調べる
-
計算の方法は?5年間の間で土曜...
-
一年後は何月何日ですか?
-
14人を均等に割り当てる
-
IF関数で閏年を抽出
-
3連休とはいつからいつまででし...
-
うるう年の求め方を教えてくだ...
-
どうして29=7a+1とおけるの?
-
週から月、月から年の換算
-
月曜が祝日になる可能性は他の...
-
2024年のカレンダーは1996年の...
-
カレンダーの作り方
-
10月10日といえば、体育の日だ...
-
おはようございます。今日は秋...
おすすめ情報