dポイントプレゼントキャンペーン実施中!

ある一つのエクセルファイルで、ユーザーフォームを用いてマクロをつくりました。
このファイルを開いた状態で、かつ、このユーザーフォームを実行した状態で、これとは別に開いている他のエクセルファイル(カレント状態)にこのユーザーフォームのマクロを実行させたいです。
以前、望まないのに、他のファイルに実行された記憶があるのですが、2010のエクセルに変えたせいか、そのようなことができません。
ユーザーフォームにどのような設定をしたらよいか教えていただきたいです。

A 回答 (1件)

えーと、ファイルAにUserForm1があって、


そのUserForm1からファイルBに対して操作をなさりたいということで、
よろしいでしょうか?

> 2010のエクセルに変えたせいか、そのようなことができません。

とのことですが、何か試されたという認識で合ってますか?
その場合、どんなコード・手順を試されたか教えてくださった方が
的確な回答ができます。


例えば、以下のようなことをなさりたいのですか?
0.(前提)ファイルAのModule1に以下のマクロがあるものとする。
Sub Test()
UserForm1.Show
End Sub
1.UserForm1のコードに以下のものを追加する。
Private Sub CommandButton1_Click()
Cells(1, 1).value = "テスト"
End Sub
2.ファイルBを開く。
3.マクロの実行でマクロ"Test"を実行する。
→結果:ファイルBのA1セルに「テスト」と表示されると思います。


上記のコードでOKかNGか、すでに試された手順・コード等を
補足願います。
    • good
    • 0
この回答へのお礼

質問とご理解は一致しております。
内容を詳しく書いていただき原因がわかりました。
私は、ユーザーフォーム上にすべてのコードを書きました。
したがって、ユーザーフォームは直接実行します。
これですと、ユーザーフォームがあるそのファイルAにしか実行できませんでした。

しかし、Moduleファイルで、ユーザーフォームを呼び出すだけで、ファイルBをカレントにすればファイルBへ、ファイルCを開いていればファイルCへ実行することができました。

勉強になりました。ありがとうございます。

お礼日時:2012/05/25 22:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!