/ / Excel VBAコントロールコレクション

Excel VBAコントロールコレクション

でユーザーフォームを作成するとき Excel VBA、あなたは コントロールコレクション コントロールを簡単にループし、各コントロールのプロパティを特定の値に設定できます。

作成するUserformは次のようになります。

Excel VBAでコントロールコレクション

このユーザーフォームを作成するには、次の手順を実行します。

1. Visual Basic Editorを開きます。プロジェクトエクスプローラが表示されていない場合は、[表示]、[プロジェクトエクスプローラ]をクリックします。

2. Insert、Userformをクリックします。ツールボックスが自動的に表示されない場合は、[表示]、[ツールボックス]の順にクリックします。あなたの画面は以下のように設定する必要があります。

Excel VBAでのユーザーフォームの画面設定

3。 ラベル、テキストボックス(先頭に1番目、2番目に1番目のラベルなど)とコマンドボタンを追加します。これが完了したら、その結果は前に示したUserformの画像と一致するはずです。たとえば、ツールボックスからテキストボックスをクリックしてテキストボックスコントロールを作成します。次に、ユーザーフォーム上のテキストボックスをドラッグすることができます。

4.ユーザーフォーム、ラベル、およびコマンドボタンのキャプションを変更するには、表示、プロパティウィンドウをクリックし、各コントロールをクリックします。

5.ユーザーフォームを表示するために、ワークシートにコマンドボタンを配置し、次のコード行を追加します。

Private Sub CommandButton1_Click()

UserForm1.Show vbModeless

End Sub

説明:vbModelessを追加することにより、ユーザーフォームを使用して同時にワークシートで作業することができます。

これで、Userformの最初の部分が作成されました。それはすでにきちんとしているように見えますが、ユーザーフォーム上のコマンドボタンをクリックしても何も起こりません。

6. Visual Basic Editorを開きます。

7.プロジェクトエクスプローラーで、UserForm1をダブルクリックします。

8.コマンドボタンをダブルクリックします。

9.次のコード行を追加します。

Private Sub CommandButton1_Click()

Dim i As Integer

For i = 1 To 10
    Controls("TextBox" & i).Value = Cells(i + 1, 1).Value
Next i

End Sub

説明: 数行のコードで、シートの電話番号をテキストボックスに入力することができます。 &演算子を使用して要素を連結(結合)しました。これらのコード行は、テキストボックスコントロール(TextBox1、TextBox2、TextBox3など)の名前を変更しなかったため機能します。コントロールの名前を変更するには、[表示]、[プロパティウィンドウ]をクリックして、各コントロールをクリックします。

シート上のコマンドボタンをクリックすると、結果が表示されます。

コントロールコレクション結果

また読む: