プロが教えるわが家の防犯対策術!

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

A 回答 (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
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/07/28 05:04

#1です。


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

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

お礼日時:2007/07/27 21:04

ユーザーフォームにコントロールを貼り付けた場合とワークシートに貼り付けた場合でコントロールの種類が違うのでプロパティが変ります



リスト範囲の設定がフォームの場合はRowSource、シートの場合はListFillRangeになります

シートの場合には選択したリストのインデックスをシートの反映するプロパティが LinkedCellプロパティです
フォームに貼った場合にはこれに相当するプロパティはありません
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
教えていただいたことは、こらから勉強致します。

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

お礼日時:2007/07/27 20:59

F1:F3に普通に時刻を入れる。


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

ご回答ありがとうございます。
とりあえずうまくいきました。

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

お礼日時:2007/07/26 22:47

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