- ベストアンサー
Excel VBA リストボックスのクリア(Win2000、Office2000)
Worksheets("Sheet1")に60個程度のTextBoxとComboBoxが並んでいます。(ユーザーフォーム上ではなく、シート上に配置) この各ボックスに入力された値を、ファイルを開いた時(OpenEvent)で入力されている値を消したいのですが、どうしたらよいでしょうか?(終了時でも構いません) 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Sheet1上にある《全ての》TextBoxとComboBoxの表示値をクリアするものとします。 各TextBoxとComboBoxの名前は、デフォルドの名前の共通部("TextBox" & "ComboBox")が、含まれている ものとします。 つまり、TextBox1~60 とか、ComboBox1~60 になっているとすると次のような感じで如何でしょうか。 名前が全然違う場合は、適当にいじってください。 ThisWorkbookクラスのコードウィンドウに記述します。 Private Sub Workbook_Open() Dim Obj As OLEObject For Each Obj In Worksheets("Sheet1").OLEObjects If InStr(Obj.Name, "TextBox") + InStr(Obj.Name, "ComboBox") > 0 Then Obj.Object.Value = "" End If Next Obj End Sub
その他の回答 (1)
- tinu 2000(@tinu2000)
- ベストアンサー率40% (147/366)
Private Sub Workbook_Open() Worksheets("sheet1").TextBox1.Text = "" Worksheets("sheet1").TextBox2.Text = "" ' ' Worksheets("sheet1").ComboBox1.Text = "" Worksheets("sheet1").ComboBox2.Text = "" ' ' End Sub で、とりあえず消えます。
お礼
消えました。ありがとうございます。
お礼
ありがとうございます。 残念ながら、定型的な名前ではありません。しかし、大変参考になりました。