KASAです
仕事柄Excelは良く使います。
とは言っても、万年ビキナーですがw
さてExcelビキナーな私は最近までExcel2010を愛用しておりました。
まあこの程度の機能があれば十分だったからです。
ところが年号の「令和」対応をし忘れてまして、西暦→和暦にしたら平成XX年となってしまう
もうパッチは提供は修了しており、泣く泣くExcel2019を購入したのでした。
(まあ充分すぎるほど古いので買い替えは必須だったのですがw)
さて10年の月日の中でExcelは色々と進化したようです。
Excel2010とは違うことが結構出てきて、還暦の爺には結構面倒な状況に
中でも一番困ったのがBookを複数開いてもExcelは1つのプロセスで処理することでした。
(2013からそうなってたようです)
実はしばらくそのことに気づいていなかったのですが、ある時大き目のマクロを実行中に
別のBookを開こうとしたらBookが開かず、マクロが途中でエラーで停止した時にBookが開く
という状況になったことから気づきました。
タスクマネージャで見るとExcelが1つしかない!
どう言う事?
スレッドを確認すると1つのExcelの配下にBookがぶら下がってました
そうなんです、Excel君はお利口になって1人で複数のBookが処理できるようになってたんです。
しかーし、
そこはMicrosoft、Windows95時代を彷彿させる設計でした、疑似マルチスレッドやん
要はあるBookのマクロを実行していると、他のBookが動けない
仮に動くと次にマクロが動いた時に前回状態が完全には再現されない
みたいな状況です。
まあマクロ内の所々で「DoEvents()」を呼べばなんとか他のBookは動くようにはなるのですが・・・
いやーExcel2019使って、逆に30年ほど時代を遡った気分でしたw
解決策ですがExcelが既に起動している時に「ALT」キーを押しながらExcelを起動すると
「新しく別のExcelを起動しますか?」
というウインドウが表示されますので「はい」を選択してください。
注意点は、クリックは通常通りでOKですが、「ALT」キーは上記ウインドウが出るまで押しといてください。
そうしないと通常通り(スレッド)になってしまいます。
マルチタスクでは幾つか注意点がありますが、私が困った点としては
「別プロセスのExcel間ではシートの移動(コピー)ができない」
というのがありました。 これは地味に面倒です。
ここまでExcelを酷使する人はいないかもしれませんがw
▼この記事がいいね!と思ったらブックマークお願いします