• ベストアンサー

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

お世話になります。 エクセル2010VBA初心者です。 以下の手順で msgboxの値をシリアル値で表示するには どうすればいいのでしょうか? Sub シリアル値で表示() a = InputBox("年を入力してください") b = InputBox("月を入力してください") c = InputBox("日を入力してください") d = a & "年" & b & "月" & c & "日" MsgBox d End Sub 宜しくおねがいいたします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

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

tackty
質問者

お礼

回答ありがとうございます。 助かりました。 ありがとうございます。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

そのマクロから msgbox datevalue(d) で文字列を日付に変換できます。 生のシリアル値を示したいなら msgbox datevalue(d)*1 とかでもいいです。

tackty
質問者

お礼

ご回答ありがとうございます。 助かりました。 ありがとうございます。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.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

tackty
質問者

補足

すご回答ありがとうございます。 試したところ 2000.1.6 と入力したら msgboxの値が2000年1月6日 と表示されました。 msgboxの値が36531と 表示させたいのですが どこを変えれば表示され ますでしょうか? 宜しくおねがいいたします。

関連するQ&A

専門家に質問してみよう