- 締切済み
エクセルVBAで2つのマクロを同時に動かす
エクセルVBAで2つのマクロを同時に動かすことはできるでしょうか。できる場合注意点はあるでしょうか。たとえばクエリで5分毎にWebページをダウンロードするプログラムを動かしいる時、別のエクセルVBAプログラムを動かすと、たまたま5分毎のクエリ取得時間に当たると、別エクセルの方にWebページが書かれてしまう場合があります。これを防ぐ方法はあるでしょうか。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- WindFaller
- ベストアンサー率57% (465/803)
回答No.3
質問の要件と、質問文の内容とは、意味が違うと想います。 「クエリで5分毎にWebページをダウンロードするプログラムを動かしいる時、別のエクセルVBAプログラムを動かすと、たまたま5分毎のクエリ取得時間に当たると、別エクセルの方にWebページが書かれてしまう場合があります。」 それは、あくまでも、VBAのコードの問題です。ActiveSheetとして、SheetやBookを指定していないから、そのようなことが起きます。概ね、 ActiveSheet.QueryTables とでもなっているのではないでしょうか。 それから、 >エクセルVBAで2つのマクロを同時に動かすことはできるでしょうか。 これは、別の話です。起動したエクセルのVBAは、片方しか動きません。もう片方は止まっています。だから、ふたつを動かすには、片方のエクセルを、オートメーション・オブジェクトにすればよいのです。もちろん、クエリ側のコードは、オートメーションで動かすのはいうまでもありません。しかし、話の様子では、その必要性はないように感じます。
補足
ありがとうございます。すみません。<5分毎のクエリ取得時間に当たると、別エクセルの方にWebページが書かれて>とは、クエリWebダウンロードプログラムのエクセルブックとは別のエクセルブックで別VBAプログラムを動かすので、(ダウンロードしているとき、こちらのVBAを動かすと)、こちらのブックにWeb内容が書き込まれてしまうということです。対処方法をよろしくお願いいたします。