- ベストアンサー
Excel2010のコンボボックスについて
ActiveXコントロールのコンボボックスについて質問です。 ListFillRangeに一番上に文字列・以下は日付の入ったセル(日付の書式はyyyy/mm/dd)を設定しています。 コンボボックスで選択する際にリストの表示は設定したセルの通りなのですが、日付を選択するとコンボボックスのテキストエリア?の表示が標準に(41172のように)なってしまいます。 これをyyyy/mm/ddのように表示することは可能でしょうか? プロパティのどこをどのようにしたら良いのでしょうか? お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
プロパティで設定する方法はありません。 一番簡単な対処としては、元の値の日付セル(仮にSheet1!A1:A10)の隣に B1: =TEXT(A1,"yyyy/mm/dd;;;") 以下コピー のように並べて置き、ListFillRangeはSheet1!B1:B10としておきます。 どうしても今の延長でやりたいなら、マクロを使って内容を書き換えさせます。 コントロールを右クリックしてコードの表示を開始 現れたシートに下記をコピー貼り付ける private sub Combobox1_Change() application.enableevents = false me.combobox1 = format(me.combobox1.value, "yyyy/mm/dd") application.enableevents = true end sub
その他の回答 (1)
こんにちは。 プロパティでは出来ません。 方法としては、リストから選んだ時はChangeイベントが派生するので、このイベント内書式を変えてやればいいでしょう。 Private Sub ComboBox1_Change() Me.ComboBox1.Text = Format(Me.ComboBox1.Text, "yyyy/mm/dd") End Sub
お礼
回答ありがとうございます。 ご指摘の通りにしたところ、Me.ComboBox1.Text =・・・のTextの部分がダメみたいで、Valueにしたところうまくいきました。 ありがとうございました。
お礼
回答ありがとうございます。 Formatで変換する方法をとったところ、うまくいきました。 ありがとうございました。