• ベストアンサー

Excel VBA リストボックスのクリア(Win2000、Office2000)

Worksheets("Sheet1")に60個程度のTextBoxとComboBoxが並んでいます。(ユーザーフォーム上ではなく、シート上に配置) この各ボックスに入力された値を、ファイルを開いた時(OpenEvent)で入力されている値を消したいのですが、どうしたらよいでしょうか?(終了時でも構いません) 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.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

rurucom
質問者

お礼

ありがとうございます。 残念ながら、定型的な名前ではありません。しかし、大変参考になりました。

その他の回答 (1)

回答No.1

Private Sub Workbook_Open()  Worksheets("sheet1").TextBox1.Text = ""  Worksheets("sheet1").TextBox2.Text = ""  '  '  Worksheets("sheet1").ComboBox1.Text = ""  Worksheets("sheet1").ComboBox2.Text = ""  '  ' End Sub で、とりあえず消えます。

rurucom
質問者

お礼

消えました。ありがとうございます。

関連するQ&A