• 締切済み

コンボボックスに表示される形式

コンボボックスのRowSourceをA1:A3と設定しています。 A1=5:00,A2=6:00,A3=7:00です。表示正式は時刻です。 コンボボックスで例えば6:00を選択すると四角い部分に「0.25」という標準の値が表示されてしまいます。 これを6:00と表示させたいのです。 ご教授よろしくお願いします。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.4

> 前者についてはわかりますが、「ワークシートに貼り付けた場合」 > の使い方がわかりません。 > わかりやすいサイトなどをご提示いただければ幸いです。 のどの部分が分からないのでしょう? ただプロパティの名前が違うってだけなんです 機能的には同等だってことですよ LinkedCellプロパティはその機能上シートに貼った場合にしか意味がありません 当方の Excel2003の場合 以下のようなプロシージャにしないと動作しませんでした Privatre Sub ComboBox1_Cange()   ' 再帰制御用変数   Static bFlag as Boolean   ' 変更中は何もしない   if bFlag then exit sub   ' 変更中フラグのセット   bFlag = true   ComboBox1.Value = Format(CDbl(ComboBox1.Text),"h:mm")   ' 変更中フラグのリセット   bFlag = false End Sub

saya1012
質問者

お礼

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

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

#1です。 すみません間違いでした。 FilllistRangeでした。 Linkedcellもありますが、FilllistRangeは、この場合コンボに表示するデータソースのことで、(VBに比べ)エクセルの場合、セル範囲のデータと連動させる仕組みがあり、それです。 質問者はフォームの方のコンボを使われているらしい。 その場合書式設定の「入力範囲」に当たります。 コントロールツールボックスの法のコンボの法がプロパティの設定が明確で、こちらを使っています。

saya1012
質問者

お礼

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

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

ユーザーフォームにコントロールを貼り付けた場合とワークシートに貼り付けた場合でコントロールの種類が違うのでプロパティが変ります リスト範囲の設定がフォームの場合はRowSource、シートの場合はListFillRangeになります シートの場合には選択したリストのインデックスをシートの反映するプロパティが LinkedCellプロパティです フォームに貼った場合にはこれに相当するプロパティはありません

saya1012
質問者

お礼

ご回答ありがとうございます。 教えていただいたことは、こらから勉強致します。 >ユーザーフォームにコントロールを貼り付けた場合とワークシートに貼り付けた場合でコントロールの種類が違うのでプロパティが変ります 前者についてはわかりますが、「ワークシートに貼り付けた場合」の使い方がわかりません。 わかりやすいサイトなどをご提示いただければ幸いです。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

F1:F3に普通に時刻を入れる。 F1:F3の表示形式を、h時mm分に設定 ーー コンボのプロパティのLinkedCellにF1:F3を入れる ーー ドロップダウンの表示は 7時45分のようになりました ーー Private Sub ComboBox1_Change() ComboBox1 = Format(ComboBox1, "h時mm分") End Sub と入れます。 ーー これでクリックして選択すると、ドロップダウンコンボのテキストボックス部分に7時45分のように表示されました。 これでどうでしょうか。

saya1012
質問者

お礼

ご回答ありがとうございます。 とりあえずうまくいきました。 >コンボのプロパティのLinkedCellにF1:F3を入れる 「LinkedCell」というプロパティが見当たらないのですが、 どういうことでしょうか? よろしくお願いします。

関連するQ&A