次の方法で共有

Windows7,Windows10 エクセル2016 VBAの処理が遅い

Anonymous
2017-02-20T06:40:07+00:00

現状Windows7またはWindows10の環境でEXCEL2010を使用して実行させるマクロを組んでいます。

このEXCELはあらかじめデータを張り付けておくデータ部のシートとマクロを実行することに

よりデータ部の情報を読み込んで帳票を作成する帳票部のシートで構成されています。

現状2010で使用していますが、2016にも対応させる必要があり、動作確認を行っています。

(帳票は1つではなくいくつか帳票があります)

2016で動作させたところ、途中で動作はとまったりせず動くことは確認できましたが

2010で動作させた場合と比べて実行に時間がかかるようです。

例えばあるマクロはEXCEL2010で実行した場合1秒で済むものがEXCEL2016では2秒であったり

また別のマクロではEXCEL2010で実行した場合3秒で済むものがEXCEL2016では8秒であったり

といった具合です。

マクロの中には2016で実行した際に致命的に遅くなるものもありましたがこれはVBAの記述を

改善することによっていくらか早くはなりました。しかし上記のようにEXCEL2010で実行した

際の2倍~3倍の時間がかかることには変わりはありません。

(EXCELのバージョンが変わることによって動作時間に差異は出ましたが、OSの違いによる

差異はほぼありませんでした また、EXCEL2010と2016の環境はパソコンのスペックはほぼ

変わらないものを使用しています)

Oficce2016になって2010と比べて必要なスペックの要件が増えています。そのために

このように動作が遅くなったのでしょうか?

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

5 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2017-02-24T04:53:31+00:00

    ​OfficeUser_2016 さん、こんにちは。

    返信ありがとうございます。

    Excel 2016 を 64 ビット版にしても動作に変化がなかったのですね。

    あまりお役に立てずすみません...。

    また、ご自身で VBA の内容を変更すると動作が早くなったので、今後もご自身で VBA の変更によりさらに実行時間を短くしていく予定なのですね。

    VBA の内容そのものについては、開発者の方などが多く利用する [VBA フォーラム] があります。

    VBA について情報を集められたい場合はよろしければご活用くださいね。

    今回はあまりお役に立てなかったのですが、何かありましたらまたマイクロソフト コミュニティをご利用ください。

    この回答は役に立ちましたか?

    5 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  2. Anonymous
    2017-02-23T00:29:50+00:00

    南谷様

    回答ありがとうございます。

    Windows7の環境の方のOfficeを64Bitに入れ替えて実行してみました。

    しかし実行時間に変更はありませんでした。

    ・EXCEL2010環境で実行した場合3秒で済むものがEXCEL2016 32bit環境では8秒

        EXCEL2016 64bit環境では8秒

    ところで、昨日から別の処理時間のかかるEXCELをテストしていますが

    共存環境でEXCEL2010で30秒、EXCEL2016では30分程度かかりました。

    しかしVBAを見直しネット(Office TANAKA)に記述してあるような高速化

    を図れる部分についていくつか修正したところEXCEL2010で8秒、

    EXCEL2016で10秒程度に大幅短縮されました。

    現在テストして分かったことはVBAを高速するとEXCEL2010自体の実行時間

    が短縮されますが、EXCEL2016で実行する時間との差も大幅に短縮される

    ようです。

    推測ですがEXCEL2016ではVBAの高速化が必要な負荷の高い部分について

    EXCEL2010より処理時間の増大について影響が大きいのかもしれません。

    どちらにしてもEXCEL2010よりは若干処理時間がかかるようですが。

    最初に例をあげたEXCEL2010で8秒というVBAマクロも見直したところ

    もう少し改善の余地があったようですのでそれを行うことによって

    現状のEXCEL2016VBAの実行時間を短縮させることを検討しています。

    ありがとうございました。

    この回答は役に立ちましたか?

    2 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  3. Anonymous
    2017-02-22T09:16:05+00:00

    OfficeUser_2016 さん、こんにちは。

    返信ありがとうございます。

    前回ご案内したクリーン ブートを行っても変化がなかったのですね。

    その後も調べたところ、状況は異なるのですが参考になるかもしれない投稿がありました。

    次の投稿の2 ページ目の 3 月 6 日の TaK-C さんの書き込みが参考になるかもしれません。

    Excel2016でExcel2007で作成したファイルが開けない

    >64bit版をインストールして試してみたところ、問題のファイルを開くことができました。

    過去のバージョンのファイルで問題が起こり、Excel 2016 64 ビット版にすると問題が解消されたという書き込みがありましたので、可能でしたら Excel 2016 を 64 ビット版にして動作が早くなるか確認してみてはいかがでしょうか。

    ※Office の32 ビット版と64 ビット版は混在できないため、Office 2010、2016 の32 ビット版をいったんアンインストールする必要があります。

    詳細は次のページをご覧ください。

    Office の64 ビット版と32 ビット版を選択する

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2017-02-21T06:01:46+00:00

    南谷様

    回答ありがとうございます。

    テストとしては以下の環境で行っていました。

    Ofiice2010環境 Intel(R) Core(TM) i3-2130M CPU @ 2.50GHzメモリ4G

     OS Windows10 Professional 64bit

     Office 2010 Professional Plus 32bit

    Office2016環境 Intel(R) Xeon(R) CPU E5-2420 0 @1.90Ghz(2プロセッサ)メモリ6G(仮想環境)

     OS Windows7 Entreprize SP1 64Bit

     Office 365 ProPlus 32bit

    まず試しにOffice2016環境の方でクリーンブートを行いEXCELマクロを実行してみましたが

    結果はクリーンブートする前と変わりませんでした。

    それから今回使用している2016のライセンスがoffice365のためOffice2010環境にOffice2010

    とは別にインストールできました。そこでOSやパソコンの違いによる時間の差異を見る

    ために同一パソコン内で両方のバージョンを共存した状態を作り、こちらでもでも実行して

    みました。実行した結果はEXCEL2010の方は共存させる前と実行時間が変わらず、EXCEL2016の方も

    最初のWindows7の2016環境で実行したものと時間は変わりませんでした。

    ・EXCEL2010環境で実行した場合3秒で済むものがEXCEL2016環境では8秒

     ー>共存させた状態

     EXCEL2010で実行した場合3秒で済むものがEXCEL2016では8秒

    よろしくお願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  5. Anonymous
    2017-02-21T03:15:56+00:00

    ​OfficeUser_2016 さん、こんにちは。

    マイクロソフト コミュニティをご利用いただき、ありがとうございます。

    Excel 2010 で作成したマクロを Excel 2016で実行した時の動作が遅く、Windows 7 PC、Windows 10 PC 両方で同様の状態になるのですね。

    動作が遅くなった要因については今の段階では分からないのですが、要因の切り分けのため次の内容を試してはいかがでしょうか。

    ■常駐アプリケーションを一時的に停止した状態でマクロを実行するとどうか

    2 台の PC に共通した何らかのプログラムが Excel 2016 の動作に影響していないか切り分けのため、次のページの手順で常駐アプリケーションを一時的に停止してみてください。

    Windows のクリーン ブートを実行する方法

    ※あとで元の設定に戻してください

    ■使用環境を確認する

    常駐アプリケーションが関係なさそうな場合、ご利用の環境も分かるといいと思います。

    次の点についても書き込んでください。

    1. ご利用の OS は 32 ビット版、64 ビット版どちらか

    コンピューターは、32 ビット版または 64 ビット バージョンの Windows オペレーティング システムを実行しているかどうかを確認する方法

    2. Office は 32 ビット版、64 ビット版どちらか

    Office の 64 ビット版と 32 ビット版を選択する

    使用している Office のバージョンを確認する方法

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません