Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7918 / 13644 ツリー ←次へ | 前へ→

【36086】一括消去 ちび太 06/3/20(月) 16:57 質問[未読]
【36088】Re:一括消去 Blue 06/3/20(月) 17:17 回答[未読]
【36091】Re:一括消去 ちび太 06/3/20(月) 17:26 お礼[未読]
【36089】Re:一括消去 かみちゃん 06/3/20(月) 17:22 発言[未読]

【36086】一括消去
質問  ちび太  - 06/3/20(月) 16:57 -

引用なし
パスワード
   今、テキストボックスやコンボボックス内の値を
一つ一つ消去しています。

Userform1.ComboBox1.Clear
Userform1.ComboBox1.Value=""

Userform1.TextBox1.Value=""
のようにしています。

テキストボックスやコンボボックスの数が少ないときは
問題ないのですが、多いと命令文が多くなり
管理するのが大変です。
簡単に消去する方法がありましたら
よろしくお願いします。


【36088】Re:一括消去
回答  Blue  - 06/3/20(月) 17:17 -

引用なし
パスワード
   UserForm上の全ての TextBox と ComboBox でよければ、
Controlsプロパティを For Each でまわして操作できます。

一例)
  Dim ctrl As Control
  
  For Each ctrl In Me.Controls
    Select Case TypeName(ctrl)
    Case "TextBox"
      ctrl.Value = ""
    Case "ComboBox"
      ctrl.Clear
      ctrl.Value = ""
    End Select
  Next

【36089】Re:一括消去
発言  かみちゃん  - 06/3/20(月) 17:22 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>テキストボックスやコンボボックスの数が少ないときは
>問題ないのですが、多いと命令文が多くなり
>管理するのが大変です。
>簡単に消去する方法がありましたら

以下のような感じでできると思います。

 Dim i As Integer
 
 For i = 1 To 10
  Userform1.Controls("TextBox" & i).Value = ""
 Next

【36091】Re:一括消去
お礼  ちび太  - 06/3/20(月) 17:26 -

引用なし
パスワード
   Blueさん、かみちゃんさん
早速のレスありがとうございました。
早速、試してみます。
また、何かありましたらよろしくお願いします。
ありがとうございました。

7918 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free