• 締切済み

エクセルVBAで仕事をさせながら、他のエクセルの仕事をしたい

30分くらいかかるエクセルのプログラムをさせていると、その間砂時計が出てきて、他の仕事が出来なくなります。 砂時計を消して、カーソルも自由に動くようにして、他の仕事をしたいのですが、どのようにプログラムを変えたら良いのでしょうか? ご存知の方、教えていただければ幸いです。

みんなの回答

noname#102340
noname#102340
回答No.2

officetanaka.net/excel/vba/tips/tips116.htm DoEventsを併用する必要があるかもしれません。

utyuzinzin
質問者

お礼

回答、有難う御座います。まだbvsが理解できていないので、先に進んでいないのですが、もう少し勉強して利用してみようと思います。

回答No.1

別プロセスでEXCELを起動すれば作業は可能です。 プログラムではないのですが、 作業対象のファイルは開かずにVBAを実行後、 スタート→プログラム→EXCEL を実行し、新たにEXCELを立ち上げて、そこから作業対象ファイルを 開いて作業はできます。 どうしても同じプロセスで作業というのはできないと思います。 プログラム的には可能といえば可能ですが、 起動用のBookを作成し、VBAプログラムから別プロセスを作り出して、 終了を待たずに、VBAを終了させ、バックグラウンドにてVBS等で 実行とすれば実行しながら作業は可能と思います。 --起動用BOOKのVBAに記述 sub VBS() Shell "WScript.exe ""C:\Run_Excel.vbs""" end sub --Run_Excel.vbsに記述 Set objEXCEL=CreateObject("Excel.Application") objEXCEL.OPEN "実行したいEXCELファイル" objEXCEL.Visible=True objEXCEL.Run "実行したいVBAのプロシージャー名"

utyuzinzin
質問者

お礼

先日お礼を書いたのですが、なぜか登録できていませんでした。お礼が遅くなり失礼しました。 VBSの理解が出来ていないので、少しVBSについて調べました。 恐らくテキストファイルにプログラムを書けばよいのだろうと理解しています。もう少し調べて、試してみたいと思います。 有難う御座いました。

関連するQ&A