• 締切済み

VBA 標準モジュールとフォーム (続き)

先ほど、同じ質問タイトルで質問させていただいたものです。この場合どうなりますか? モジュールでの変数file_nameをフォームのボタンをクリックしたら"text.xls"が表示されるようにしたいです。 (イメージとしては、エクセルのsheet1にコマンドボタンがあってクリックするとフォームが立ち上がってフォームのコマンドボタンをクリックすると"test.xls"が表示される) モジュール Private Sub CommandButton1_Click() ←エクセルsheet1にボタンがある   dim file_name as string file_name="test.xls"   UserForm1.Show End Sub フォーム(UserForm1) Sub CommandButton1_Click() ←フォームにボタンがある MsgBox file_name End Sub

みんなの回答

回答No.3

●モジュール(私のテストではModule1)に下記コードを記述 Public FN As String Sub ボタン1_Click() FN = "D\book1.xls" MsgBox FN UserForm1.Show End Sub ●フォーム(私のテストでもUserForm1)に下記コードを記述 Private Sub CommandButton1_Click() Workbooks.Open Filename:="D:book1.xls" End Sub 検証して動作確認済みです。 ブック名やコントロール名(ボタンの名前)等は、そちらの環境に合わせて変更して下さい。

gooaist
質問者

お礼

ありがとうございます。同様の事成功しております。 >モジュール(私のテストではModule1) →sheet1にコマンドボタンがありますので、標準モジュールではなく、Microsoft Excel Obiectのsheet1(sheet1)にプログラムを入れていくと、フォームでFNが表示されません。なぜなんでしょうか?

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

> kmetu様と同様に作りますと、 同様にしていないからエラーになるのだと思われます Public file_name As String Private Sub CommandButton1_Click()  file_name = "test.xls" UserForm1.Show End Sub

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

先ほどの回答を理解されていれば答えは出ていますが 理解できていないのでしょうか? 同じ質問をしないようにしましょう。

gooaist
質問者

補足

kmetu様と同様に作りますと、 コンパイルエラー プロシ-ジャーの外では無効です。とエラーがでました。どうすればいいですか?