• 締切済み

ExcelVBAでコンボボックスに初期値設定

ExcelVBAでユーザーフォームを作成しています。 表示したときにコンボボックスに「選択して下さい」と表示させる方法を教えて下さい。 コンボボックスで「2003年_H15」~「2012年_H24」が選択できて、選択するとラベルに「2002~2004年」のように表示されます。 【コンボボックス:選択】2003年_H15 【ラベル:表示】2002~2004年 コンボボックスの値はSheetから設定しています。 ユーザーフォームを表示させたときにコンボボックスに「選択して下さい」と初期値として設定するにはどうしたらよいか教えて下さい。 Sheetに追加するとかんたんなのですが、ラベルに表示させるために、以下のようなコードを書いていたりするので、うまく動きません。 Private Sub ComboBox_Change() Dim sh As Worksheet Set sh = Worksheets("Sheet1") With ComboBox If .ListIndex >= 0 Then Label.Caption = Left(sh.Cells(.ListIndex + 1, 1), 4) _ & "~" & Left(sh.Cells(.ListIndex + 3, 1), 4) & "年" End If End With End Sub よろしくお願い致します。

みんなの回答

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

> これを実行すると、この「選択して下さい」だけが表示され、指定したシートの値を表示しなくなってしまうのです。 そうですか? うちではドロップダウンリストの選択肢に指定したシートの値が表示されますけど… コンボボックスのプロパティのRowSourceにシート範囲を指定してるんですよね?

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

下記のような感じでいかがですか。 Private Sub UserForm_Initialize() ComboBox.Value = "選択して下さい" End Sub

minminwamidori
質問者

お礼

ありがとうございます。実はこれは既に試してみました。これを実行すると、この「選択して下さい」だけが表示され、指定したシートの値を表示しなくなってしまうのです。なので困っています。

関連するQ&A

専門家に質問してみよう