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

解決済みの質問

エクセルVBA 時刻シリアルデータの変換に関して

エクセルVBA初心者です。

ユーザーフォーム内に作成したテキストボックスの表示についてお伺いしたいのですが、
例えばA1セルに、”7:00”と書き込みますと、そのまま”7:00”と表示されますが、
ユーザーフォームとその中にテキストボックスを作成し、以下のようなコードを書いて
立ち上げると、テキストボックス内の表示は”7:00”ではなくシリアル値の”0.2916666・・・”と
表示されてしまいます。
これをなんとか時刻で表示させる方法はありませんでしょうか?

Private Sub UserForm_Initialize()

TextBox1.Value = Cells(1, 1)

End Sub

ご教示いただけたら幸いです。

投稿日時 - 2011-06-19 07:13:05

QNo.6820027

暇なときに回答ください

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

TextBox1.Value = format(Cells(1, 1), "h:mm")
などですが,実際には
me.textbox1.value = worksheets("シート名").range("A1").text
で出来ます。




#余談
worksheets("シート名"). Cells(1, 1)などのように,可能な限り手抜きせずシートから指定するマクロを書くよう心がけることを,強く推奨します。

投稿日時 - 2011-06-19 10:22:12

お礼

No1様、No2様、どちらの方法でも解決することができました!!
ありがとうございました。

投稿日時 - 2011-06-19 16:04:35

ANo.2

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

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

回答(2)

ANo.1

TextBox1.Value = FormatDateTime(Cells(1, 1), vbShortTime)

にしてください。

投稿日時 - 2011-06-19 09:13:20

あなたにオススメの質問