- ベストアンサー
ユーザーフォーム入力後の値の貼付け方は?
EXCELのVBEでユーザーフォームを作成しました。 テキストボックスに入力した値をEXCELシート上に 反映させるにはどのようにすればいいのでしょうか? EXCELシート上ではセルではなくてやはり テキストボックスに値が入るようにしなくてはできないのでしょうか? 初心者です。教えてください!
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>マクロのAuto_openのようにフォームを起動させることはできますか? ユーザーフォームのオブジェクト名が UserForm1 として、 ThisWorkbook のコードウインドウに下のコードを書きます。 Bookを保存して、再度開けばユーザーフォーム(UserForm1)が開きます。 ここから ↓ Private Sub Workbook_Open() UserForm1.Show End Sub
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
テキストボックスのプロパティの「LinkedCell」にセル(例えばB3)を指定すると良いのでは。 ExcelVBAなら、Module1に Sub test01() Worksheets("sheet1").TextBox1.LinkedCell = "sheet1!b3" End Sub 「"sheet1!b3"」の書き方に注意。
- nishi6
- ベストアンサー率67% (869/1280)
Sheet1からユーザーフォームを開くとして、 TextBox1の値をSheet1のセルA1に TextBox2の値をSheet2のセルB1に反映する場合、 (1)VBE画面でテキストボックスを右クリックしてプロパティを選択。 (2)TextBox1のプロパティのControlSource を A1 に (3)TextBox2のプロパティのControlSource を Sheet2!B1 にします。 これとは別に、CommandButtonをセットして、これをきっかけにシートに反映させることができます。 <例>CommandButtonを押す事で、Sheet1のセルA3に書き込んでいます。 Private Sub CommandButton1_Click() Worksheets("Sheet1").Range("A3") = TextBox1.Text End Sub
お礼
ありがとうございます!例の方法でうまくできました! あと、もしよろしければ、このファイルを起動させた時に マクロのAuto_openのようにフォームを起動させることは できますか?追加ですみません。お解かりでしたら教えてください。 よろしくお願い致します。
お礼
ありがとうございました! 目的のものを作成することができました! ほんとに大助かりです。 また教えて頂くことがありましたらよろしくお願い致します。