■今日の午前中にしていたこと
VBAの話。わたしのPCのWindowsのバージョンが7から10になり、EXCELのバージョンも2010から2016になったわけですが、
その際、何だかEXCELのマクロの処理速度が結構変わってしまったような気がする。特に大量のセルへデータを書き込みに行くような処理は、明らかに処理速度が遅くなっているような気が。
というわけで、次のような簡単なマクロを作成して、EXCELのバージョンでの処理速度の違いを検証してみることにしました。
今回、用意したマクロは↓。
①A、B列に適当な数字を入力しておき、それを100000行分あらかじめ入力しておく。
②A列+B列の結果をC列へ書き込む。それを100000行分繰り返す
で、そのテスト結果は↓こちら。実験に使用しているPCのスペックがそもそもかなりズレてるので、正確な処理速度の比較ではないんだろうけど
それにしたって、性能が良いはずのPCに載せてもらっているはずのEXCEL2016の方が全然遅い。何故こうなるのかは正直全然分からないのですが(^^;。
EXCELのマクロが遅くなる要因の一つとして、セルに書き込みに行く回数が多くなればなるほど、というのがあるのは割と有名な話ですが、どうもEXCEL2016では、より顕著にその法則がハッキリと出るらしい。
ちなみにこれもVBAの処理高速化の手法では割と有名な、二次元配列とセル範囲の相互転記を、今回の「A列+B列=C列を100000行分繰り返す」に当てはめると
1秒未満でこの処理は終わってしまうくらい、マクロを高速化することができるんですけど、EXCEL2016ではより「セルへ書き込む操作の回数を減らすようにする」ことを意識することが大切なのかもしれないなと。
ちょっと気になったので、今回調べてみました(^^)
EXCEL2010:約19秒
EXCEL2016:約28秒
■今日の午後にしていたこと
今日のお昼は、そういえば結構久しぶりかもしれない冷凍庫に眠らせていた中華まん2個(^^)。
そして今晩の晩ご飯。今晩は夕方からホームヘルパーさんが夕食を作りに来てくれる日なので
今晩はこんなものを作ってもらうことにしました。炊きたてのご飯、具だくさんの味噌汁、カジキマグロのバジルオイル漬け、牛ヒレステーキに粉吹きいも(^^)。
VBAの話。わたしのPCのWindowsのバージョンが7から10になり、EXCELのバージョンも2010から2016になったわけですが、
その際、何だかEXCELのマクロの処理速度が結構変わってしまったような気がする。特に大量のセルへデータを書き込みに行くような処理は、明らかに処理速度が遅くなっているような気が。
というわけで、次のような簡単なマクロを作成して、EXCELのバージョンでの処理速度の違いを検証してみることにしました。
今回、用意したマクロは↓。
①A、B列に適当な数字を入力しておき、それを100000行分あらかじめ入力しておく。
②A列+B列の結果をC列へ書き込む。それを100000行分繰り返す
で、そのテスト結果は↓こちら。実験に使用しているPCのスペックがそもそもかなりズレてるので、正確な処理速度の比較ではないんだろうけど
それにしたって、性能が良いはずのPCに載せてもらっているはずのEXCEL2016の方が全然遅い。何故こうなるのかは正直全然分からないのですが(^^;。
EXCELのマクロが遅くなる要因の一つとして、セルに書き込みに行く回数が多くなればなるほど、というのがあるのは割と有名な話ですが、どうもEXCEL2016では、より顕著にその法則がハッキリと出るらしい。
ちなみにこれもVBAの処理高速化の手法では割と有名な、二次元配列とセル範囲の相互転記を、今回の「A列+B列=C列を100000行分繰り返す」に当てはめると
1秒未満でこの処理は終わってしまうくらい、マクロを高速化することができるんですけど、EXCEL2016ではより「セルへ書き込む操作の回数を減らすようにする」ことを意識することが大切なのかもしれないなと。
ちょっと気になったので、今回調べてみました(^^)
EXCEL2010:約19秒
EXCEL2016:約28秒
■今日の午後にしていたこと
今日のお昼は、そういえば結構久しぶりかもしれない冷凍庫に眠らせていた中華まん2個(^^)。
そして今晩の晩ご飯。今晩は夕方からホームヘルパーさんが夕食を作りに来てくれる日なので
今晩はこんなものを作ってもらうことにしました。炊きたてのご飯、具だくさんの味噌汁、カジキマグロのバジルオイル漬け、牛ヒレステーキに粉吹きいも(^^)。