Excel2010でマクロ(VBA)が遅い・重たい・止まる。

Microsoftサポート

Microsoftサポート

Excel2010作成したマクロ(VBA)を実行すると、処理が急に遅くなる。。。 一体なぜ?

取りあえずググってみたところ、何でも原因はWindows7 + Excel2010の環境で発生する「Micorosoftさんの不具合」のようです(汗)

Windows 7 および Windows Server 2008 R2 環境の Excel 2010 または Word 2010 で、連続したマクロ処理を実行するとマクロが停止する場合がある

 

しかも、現時点(2014年4月現在)で、まだ原因調査中で改善していないようです(汗)

マイクロソフトでは、この問題について現在調査中です。詳細については、わかりしだいこの資料に掲載する予定です。

 

Microsoftさんが提唱している回避方法は以下の通りですが、私の場合は全部試してみましたが改善しませんでした(泣)
※多くの方は、下記「方法2」のDoEventsを入れることで解決するみたいです。

方法 1 : Microsoft Office IME 2010 の代わりに、Windows OS 標準の Microsoft IME を使用する

Windows 7 および Windows Server 2008 R2 に標準でインストールされている Microsoft IME を使用してください。

Microsoft IME を使用するには、以下の手順を実行してください。
[スタート] ボタンをクリックし、[コントロールパネル] をクリックします。
[時計、言語、および地域] をクリックします。
[キーボードまたは入力方法の変更] をクリックします。
[キーボードの変更] ボタンをクリックします。
[テキスト サービスと入力言語] 画面の [既定の言語] で、[日本語 (日本) – Microsoft IME] をクリックし、[OK] をクリックします。

補足 :
[既定の言語] で [日本語 (日本) – Microsoft IME] が表示されない場合は、[追加] ボタンをクリックし、[入力言語の追加] 画面のリストから [日本語 (日本)] をクリックして、[Microsoft IME] のチェック ボックスをオンにし、[OK] をクリックします。その後、手順 5 を実行します。
Microsoft IME を使用することで現象が回避する場合、累積的な更新プログラム 2687611 を適用することで Microsoft Office IME 2010 の問題が修正され、問題を回避できる可能性があります。

方法 2 : DoEvents 関数をマクロ内に挿入する

DoEvents 関数を使用することで、VBA 処理中でも一度 OS に対し制御を戻すことができます。ファイルを開く、ファイルを閉じるなどの連続処理中に OS に処理を戻すことでハンドル解放処理が行われ現象が回避されます。

ループで連続処理を行っている場合は、ある一定の頻度で DoEvents 関数を実行してください。 たとえば、10 回のループ毎に、DoEvents 関数 を 1 回実行することで問題なく動作します。

方法 3 : マクロの連続処理を実行中はウィンドウを非表示する

ファイルを開く、ファイルを閉じるなどのマクロによる連続処理を行う前に、マクロを使用して Excel 2010 または Word 2010 のウィンドウを非表示にしてください。

方法 4 : マクロ開始後に [メモ帳] や [Windows エクスプローラー] など別ウィンドウにフォーカスを移動する

ファイルを開く、ファイルを閉じるなどのマクロによる連続処理を開始後に、実行中の Excel 2010 または Word 2010 以外のウィンドウ ([メモ帳] や [Windows エクスプローラー] など) をクリックしてフォーカスを移動させてください。

 

未だに原因調査中のところから、このまま解決しないまま放置されるのでは。。。
同様の問題が発生しないバージョン(Excel2013)も既に出ているわけですし、そんな気がしてなりません。

ですが、Windows7を購入したときに標準で2010がついてくる時期だったので、
Windows7 + Excel2010を使っている企業さんは結構多いと思います。

実際、最近お手伝いした企業さんもメインで使っている端末環境はWindows7でExcelは2010とのことでした。

お客様には、そういう不具合があることを理解してもらった上で開発を請け負わないと、
後になってトラブルが発生するかもしれないので注意が必要です。

Excel2007や2013ではサクサク処理できるので、最悪その環境を準備してもらうしかないですね。

うーん、早く改善してもらいたいものです。



著書の紹介

俺とオレ ~さよなら大嫌いな自分~

自分をよく見せたくてつま先立ちで歩き続ける。そんな日常を送ることに限界がきた俺は、胡散臭い男の紹介で「おばあちゃん」と暮らしはじめる。これまで抑圧してきた自分の内面と向き合い、導き出された答えとは……。仕事も恋も上手くいかない23歳の新社会人を変えた一夏の田舎暮らし。

おすすめポイント:人の目ばかり気になる……。人間関係に疲れた……。自分なんて、大嫌いだ……。そんなつま先立ちの人生から解放されるようになります。
http://amzn.to/2FPl2eN

診断テストの紹介

自己分析診断テスト「ポテクト」で強み・弱みを徹底分析! 無料版あり

自己分析診断テスト「ポテクト」で強み・弱みを徹底分析! 無料版あり




Pocket

名古屋の難しい言葉を使わないIT・WEBコンサルタント 愛知県を中心に、初心者向けIT・WEB活用の支援をやっています。WEB・ITによる業務効率化、ホームページ作成、VBAマクロ作成、各種IT・WEBセミナーが得意です。

カテゴリー: Excel, マクロ(VBA) タグ: , , , , ,