こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

msgboxの値をシリアル値で表示するには?

お世話になります。
エクセル2010VBA初心者です。
以下の手順で
msgboxの値をシリアル値で表示するには
どうすればいいのでしょうか?


Sub シリアル値で表示()

a = InputBox("年を入力してください")
b = InputBox("月を入力してください")
c = InputBox("日を入力してください")
d = a & "年" & b & "月" & c & "日"

MsgBox d

End Sub

宜しくおねがいいたします。

投稿日時 - 2013-09-15 19:01:37

QNo.8265342

困ってます

質問者が選んだベストアンサー

No.1です!

前回は大間違いをしていました。

>シリアル値で表示
というコトですので単に数値の表示でよい訳ですよね?
↓に変更してください。

Sub シリアル値で表示()
Dim a As Long, b As Long, c As Long
a = InputBox("年を入力してください")
b = InputBox("月を入力してください")
c = InputBox("日を入力してください")
MsgBox DateSerial(a, b, c) * 1
End Sub

何度も失礼しました。m(_ _)m

投稿日時 - 2013-09-15 19:44:08

お礼

回答ありがとうございます。

助かりました。

ありがとうございます。

投稿日時 - 2013-09-15 19:50:35

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

そのマクロから
msgbox datevalue(d)
で文字列を日付に変換できます。

生のシリアル値を示したいなら
msgbox datevalue(d)*1
とかでもいいです。

投稿日時 - 2013-09-15 19:50:01

お礼

ご回答ありがとうございます。

助かりました。

ありがとうございます。

投稿日時 - 2013-09-15 19:55:49

ANo.1

こんばんは!
色々やり方はあると思いますが、

Sub Sample1()
Dim a As Long, b As Long, c As Long
a = InputBox("年を入力")
b = InputBox("月を入力")
c = InputBox("日を入力")
MsgBox Format(DateSerial(a, b, c), "yyyy年m月d日")
End Sub

といった感じはどうでしょうか?

※ a・b・c はちゃんとした数値を入力してください。
仮に「月」のインプットボックスに 
「13」のように本来ない月を入力すると次年の1月となります。m(_ _)m

投稿日時 - 2013-09-15 19:28:04

補足

すご回答ありがとうございます。
試したところ
2000.1.6
と入力したら
msgboxの値が2000年1月6日
と表示されました。

msgboxの値が36531と
表示させたいのですが

どこを変えれば表示され
ますでしょうか?

宜しくおねがいいたします。

投稿日時 - 2013-09-15 19:48:15

あなたにオススメの質問