| 
    
     |  | ▼ichinose さん: こんばんは
 返事が遅くなってすみません。
 >Excel2002(Excel2000でも確認)で前回の投稿どおりの手順で行うと
 >記述したとおりにエラーが発生し、記述したとおりにリストがクリアされますけどね!!
 
 Excelは2007です。
 Worksheets("sheet1").ComboBox1.Clear
 では消えませんでしたが(エラーは出ません)
 Worksheets("sheet1").ComboBox1.value = ""
 を実行したら消えました。
 という意味で前回は書きました。
 >因みに
 >Worksheets("sheet1").ComboBox1.Value = ""
 >と
 >Worksheets("sheet1").ComboBox1.ListFillRange = ""
 >とでは、結果は違いますよ!!
 少し勘違いをさせているようですが比べているのは
 Worksheets("sheet1").ComboBox1.Clear
 と
 Worksheets("sheet1").ComboBox1.value = ""
 です。
 .Clearでは消えませんでしたが、.ComboBox.value=""
 でやったら消えましたという意味です。
 
 最初に質問したときは標準モジュールで
 Sub test0()
 ComboBox1.Value = ""
 End Sub
 を実行したのですが上手くいかず,みなさんに教えていただいた
 Sub test1()
 Worksheets("sheet1").ComboBox1.Clear
 End Sub
 を実行したところ、「予期せぬエラーが発生しました。」というエラーが発生したため、それはListFillRangeプロパティに値が設定されていることが原因だということを教えてもらったため
 Sub test2()
 Worksheets("sheet1").ComboBox1.ListFillRange = ""
 Worksheets("sheet1").ComboBox1.Clear
 End Sub
 を実行したところ、エラーは発生しなくなりましたがコンボボックスを空白にすることはできませんでした。そこで
 Sub test3()
 Worksheets("sheet1").ComboBox1.ListFillRange = ""
 Worksheets("sheet1").Value = ""
 End Sub
 を試したところコンボボックスが空白になり上手くいってしまったので喜んでいたのですが、ListFillRangeプロパティに値が入っていても
 Sub test4()
 Worksheets("sheet1").Value = ""
 End Sub
 でもコンボボックスが空白になることが分かり少しショックを受けたのと同時に、Clearと""では同じ意味なのかと疑問に思いました。
 これがいままでのまとめになります。
 よろしくお願いします。
 
 |  |