Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4979 / 13646 ツリー ←次へ | 前へ→

【53286】うるう年の算出方法 リョウタ 07/12/25(火) 23:30 質問[未読]
【53287】Re:うるう年の算出方法 かみちゃん 07/12/25(火) 23:42 発言[未読]
【53288】Re:うるう年の算出方法 リョウタ 07/12/26(水) 0:14 質問[未読]
【53289】Re:うるう年の算出方法 かみちゃん 07/12/26(水) 0:17 発言[未読]
【53291】Re:うるう年の算出方法 リョウタ 07/12/26(水) 0:18 お礼[未読]
【53293】Re:うるう年の算出方法 ネチケット 07/12/26(水) 8:41 発言[未読]

【53286】うるう年の算出方法
質問  リョウタ  - 07/12/25(火) 23:30 -

引用なし
パスワード
   1900年から2008年までのうるう年を見つけて、1個のメッセージボックスにすべてのうるう年を表示するようにするプログラムを作成したいのですが

Sub うるう年()
Dim n As Long
n = Val(imputbox("西暦を入力"))
If (n mod 4 = 0 and not n mod 100 = 0) or n mod 400 = 0) then
MsgBox "うるう年"
Else
MsgBox "not うるう年"
End If
End Sub

では間違えなのでしょうか?どこがちがうのか分からず、どうしても先へ進めないため、どなたか訂正箇所が見当たればお願いします。

【53287】Re:うるう年の算出方法
発言  かみちゃん  - 07/12/25(火) 23:42 -

引用なし
パスワード
   こんにちは。かみちゃん です。

> 間違えなのでしょうか?

根本的な考え方は合っています。
「西暦年が4で割り切れる年。ただし、100で割り切れる年は、その年がさらに400で割り切れる場合のみ、うるう年」
http://ja.wikipedia.org/wiki/閏年
http://www1.bbiq.jp/blue_sky/ex/ex2002001.html

今回のご質問の場合は、
 If (n Mod 4 = 0 And Not n Mod 100 = 0) Or n Mod 400 = 0 Then
ということで、
400 = 0 の後にある ) が余計です。

【53288】Re:うるう年の算出方法
質問  リョウタ  - 07/12/26(水) 0:14 -

引用なし
パスワード
   こんばんわ。どうもありがとうございます。
後ろにある ) をはずして実行してみるのですが
「sub または functionが定義されていません」
と表示されて、さらに
「imputbox」の箇所が青く表示されてしまい実行ができないのですが・・・

【53289】Re:うるう年の算出方法
発言  かみちゃん  - 07/12/26(水) 0:17 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>「sub または functionが定義されていません」
>と表示されて、さらに
>「imputbox」の箇所が青く表示されてしまい実行ができないのですが・・・

ごめんなさい。確認不足です。というか、単純に誤字と思ってしまいました。
imputbox
の m は n であって、InputBox です。
何かを参考にされたのでしょうか。よく確認してみてください。

【53291】Re:うるう年の算出方法
お礼  リョウタ  - 07/12/26(水) 0:18 -

引用なし
パスワード
   すいませんm(__)mこちらの誤字でした。
今確認したところちゃんと始動しました。
本当にどうもありがとうございます。

【53293】Re:うるう年の算出方法
発言  ネチケット  - 07/12/26(水) 8:41 -

引用なし
パスワード
   こちらは放置?

http://www.happy2-island.com/bbs/bbs.cgi?mode=view&no=867

4979 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free