- 締切済み
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
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- takachan7272
- ベストアンサー率29% (179/616)
●モジュール(私のテストでは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 検証して動作確認済みです。 ブック名やコントロール名(ボタンの名前)等は、そちらの環境に合わせて変更して下さい。
- kmetu
- ベストアンサー率41% (562/1346)
> kmetu様と同様に作りますと、 同様にしていないからエラーになるのだと思われます Public file_name As String Private Sub CommandButton1_Click() file_name = "test.xls" UserForm1.Show End Sub
- kmetu
- ベストアンサー率41% (562/1346)
先ほどの回答を理解されていれば答えは出ていますが 理解できていないのでしょうか? 同じ質問をしないようにしましょう。
補足
kmetu様と同様に作りますと、 コンパイルエラー プロシ-ジャーの外では無効です。とエラーがでました。どうすればいいですか?
お礼
ありがとうございます。同様の事成功しております。 >モジュール(私のテストではModule1) →sheet1にコマンドボタンがありますので、標準モジュールではなく、Microsoft Excel Obiectのsheet1(sheet1)にプログラムを入れていくと、フォームでFNが表示されません。なぜなんでしょうか?