とっておきの手土産を教えて

ビスタのVBAユーザーホームでコンボボックスを使用しています
リストにはセル範囲を指定し、指定先には[8:00]~[17:00]まで15分単位で時刻を入力してあります
リストから指定時刻を選択すると時刻表示されず数値化してしまうので
以下のようなコードで書式設定しています
Private Sub ComboBox5_Click() '作業終了1
ComboBox5.Text = Format(ComboBox5.Value, " hh:mm ")
End Sub

しかし[12:00]の時刻だけはナゼか[00:05]と表示されてしまいます
その他の時刻は問題なく時刻表示されるのに、意味がわかりません
どうすれば[12:00]と表示する事が出来るのでしょうか
詳しい方がおられましたらどうか宜しくお願いします

A 回答 (2件)

Text関数を使うとCDblで変換しなくても12:00と表示されました。

 Excel2002
ComboBox5.Text = Application.Text(ComboBox5.Value, " hh:mm")
    • good
    • 0
この回答へのお礼

ありがとうございます
大変に助かりました

お礼日時:2012/07/31 22:24

こんにちは



12:00で得られるシリアル値0.5を00:05と認識していますね
まずComboBoxのMatchEntryプロパティを fmMatchEntryNone (マッチングを行わない) に設定する
Private Sub ComboBox5_Click() '作業終了1
ComboBox5.Text = Format(CDbl(ComboBox5.Value), " hh:mm ")
End Sub
で如何でしょうか?
    • good
    • 0
この回答へのお礼

解答ありがとうございました
まだまだ知らないことだらけだと思い知らされる感じです

お礼日時:2012/07/31 22:26

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


おすすめ情報