• ベストアンサー

ユーザーフォーム入力後の値の貼付け方は?

EXCELのVBEでユーザーフォームを作成しました。 テキストボックスに入力した値をEXCELシート上に 反映させるにはどのようにすればいいのでしょうか? EXCELシート上ではセルではなくてやはり テキストボックスに値が入るようにしなくてはできないのでしょうか? 初心者です。教えてください!

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

>マクロのAuto_openのようにフォームを起動させることはできますか? ユーザーフォームのオブジェクト名が UserForm1 として、 ThisWorkbook のコードウインドウに下のコードを書きます。 Bookを保存して、再度開けばユーザーフォーム(UserForm1)が開きます。 ここから   ↓   Private Sub Workbook_Open()     UserForm1.Show   End Sub

pera2cco
質問者

お礼

ありがとうございました! 目的のものを作成することができました! ほんとに大助かりです。 また教えて頂くことがありましたらよろしくお願い致します。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

テキストボックスのプロパティの「LinkedCell」にセル(例えばB3)を指定すると良いのでは。 ExcelVBAなら、Module1に Sub test01() Worksheets("sheet1").TextBox1.LinkedCell = "sheet1!b3" End Sub 「"sheet1!b3"」の書き方に注意。

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

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

pera2cco
質問者

お礼

ありがとうございます!例の方法でうまくできました! あと、もしよろしければ、このファイルを起動させた時に マクロのAuto_openのようにフォームを起動させることは できますか?追加ですみません。お解かりでしたら教えてください。 よろしくお願い致します。

関連するQ&A

専門家に質問してみよう