Excel2016,2013 マクロ 35回
前回までのユーザーフォームは、1行分のデータを転記したら終了し、再びユーザーフォームを呼び出して再入力するものでした。
ユーザーフォームを閉じずに、継続して入力、転記を繰り返すには、フォーム上のコントロールに入力されているデータをクリア(初期化)する必要があります。
今回は、コントロールのデータをクリアし、継続して入力するフォームを作成しましょう。
(サンプルファイルは、こちらから
マクロ35回サンプルデータ)


Private Sub cmdClear_Click() (ここにコード) End Subという、イベントプロシージャ自動的に、入力されています。コマンドボタンの名前を変更していない場合は、
Private Sub CommandButton1_Click() End Subのようなコードのままです。間に以下のコードを記入しました。

Dim Ctrl As Control
For Each Ctrl In Controls
テキストボックス内に入力した文字列は Value プロパティ、または、Text プロパティで設定可能です。そこで、If~ElseIfステートメントを使います。もしも、コントロールのタイプが”TextBox”ならば、Valueは””。
If TypeName(Ctrl) = "TextBox" Then
Ctrl.Value = ""
ElseIf TypeName(Ctrl) = "OptionButton" Then
Ctrl.Value = False
ElseIf TypeName(Ctrl) = "ComboBox" Then
Ctrl.Value = ""
End If

