- 締切済み
コンボボックスに表示される形式
コンボボックスのRowSourceをA1:A3と設定しています。 A1=5:00,A2=6:00,A3=7:00です。表示正式は時刻です。 コンボボックスで例えば6:00を選択すると四角い部分に「0.25」という標準の値が表示されてしまいます。 これを6:00と表示させたいのです。 ご教授よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- redfox63
- ベストアンサー率71% (1325/1856)
> 前者についてはわかりますが、「ワークシートに貼り付けた場合」 > の使い方がわかりません。 > わかりやすいサイトなどをご提示いただければ幸いです。 のどの部分が分からないのでしょう? ただプロパティの名前が違うってだけなんです 機能的には同等だってことですよ 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
- imogasi
- ベストアンサー率27% (4737/17069)
#1です。 すみません間違いでした。 FilllistRangeでした。 Linkedcellもありますが、FilllistRangeは、この場合コンボに表示するデータソースのことで、(VBに比べ)エクセルの場合、セル範囲のデータと連動させる仕組みがあり、それです。 質問者はフォームの方のコンボを使われているらしい。 その場合書式設定の「入力範囲」に当たります。 コントロールツールボックスの法のコンボの法がプロパティの設定が明確で、こちらを使っています。
お礼
ご回答ありがとうございます。
- redfox63
- ベストアンサー率71% (1325/1856)
ユーザーフォームにコントロールを貼り付けた場合とワークシートに貼り付けた場合でコントロールの種類が違うのでプロパティが変ります リスト範囲の設定がフォームの場合はRowSource、シートの場合はListFillRangeになります シートの場合には選択したリストのインデックスをシートの反映するプロパティが LinkedCellプロパティです フォームに貼った場合にはこれに相当するプロパティはありません
お礼
ご回答ありがとうございます。 教えていただいたことは、こらから勉強致します。 >ユーザーフォームにコントロールを貼り付けた場合とワークシートに貼り付けた場合でコントロールの種類が違うのでプロパティが変ります 前者についてはわかりますが、「ワークシートに貼り付けた場合」の使い方がわかりません。 わかりやすいサイトなどをご提示いただければ幸いです。
- imogasi
- ベストアンサー率27% (4737/17069)
F1:F3に普通に時刻を入れる。 F1:F3の表示形式を、h時mm分に設定 ーー コンボのプロパティのLinkedCellにF1:F3を入れる ーー ドロップダウンの表示は 7時45分のようになりました ーー Private Sub ComboBox1_Change() ComboBox1 = Format(ComboBox1, "h時mm分") End Sub と入れます。 ーー これでクリックして選択すると、ドロップダウンコンボのテキストボックス部分に7時45分のように表示されました。 これでどうでしょうか。
お礼
ご回答ありがとうございます。 とりあえずうまくいきました。 >コンボのプロパティのLinkedCellにF1:F3を入れる 「LinkedCell」というプロパティが見当たらないのですが、 どういうことでしょうか? よろしくお願いします。
お礼
ご回答ありがとうございました。