アプリ版:「スタンプのみでお礼する」機能のリリースについて

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


Sub シリアル値で表示()

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

MsgBox d

End Sub

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

A 回答 (3件)

そのマクロから


msgbox datevalue(d)
で文字列を日付に変換できます。

生のシリアル値を示したいなら
msgbox datevalue(d)*1
とかでもいいです。
    • good
    • 0
この回答へのお礼

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

助かりました。

ありがとうございます。

お礼日時:2013/09/15 19:55

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
    • good
    • 0
この回答へのお礼

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

助かりました。

ありがとうございます。

お礼日時:2013/09/15 19:50

こんばんは!


色々やり方はあると思いますが、

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

この回答への補足

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

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

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

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

補足日時:2013/09/15 19:48
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!