• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBA 違うbookのフォームにデータを)

エクセルVBAで違うbookのフォームにデータを送り込む方法は?

このQ&Aのポイント
  • エクセルVBAを使用して、違うbookのフォームにデータを送り込む方法について教えてください。
  • BOOK1からBOOK2の自作フォームのテキストに値を送り込む方法が分かりません。シートのセルやボタンなら可能ですが、フォームには何か書き方があるのでしょうか。
  • エクセルVBAで、別のブックのフォームにデータを送る方法について教えてください。セルやボタンは送ることができますが、フォームについてはどのように書けばよいのでしょうか。

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

  • ベストアンサー
  • eden3616
  • ベストアンサー率65% (267/405)
回答No.1

シートやセルに対する操作のように直接扱いませんが・・・ フォームのあるブックに値を受け取りフォームに値をセットするプロシージャを用意し、 別のブックからそのプロシージャへ書き込む値を渡す方法です。 以下の設定を【Book1】【Book2】でして頂き、 【Book1】の「Sample1」を実行してください。 【Book1】 (1)以下のコードを標準モジュールへ記述   Sub Sample1()     Dim msg As String     msg = "入力する文字列"     '変数msgを引数としてBook2のSample2を実行     Application.Run "Book2!Sample2", msg   End Sub 【Book2】 (1)UserForm1を作成してTextBox1コントロールを配置 (2)以下のコードを標準モジュールへ記述   Sub sample2(msg As String)     Load UserForm1     '受け取った引数をTextBox1にセット     UserForm1.TextBox1.Value = msg     UserForm1.Show   End Sub

2014itochan
質問者

お礼

有難うございます。 これは、思いつかなかったです。 単純に、別BOOKのセルに値送り込んで、チェンジイベントひらって、同じBOOKのフォームに送り込むって単純な方法でとりあえず、動くことは動くようです。

関連するQ&A

専門家に質問してみよう