タグ

excel-vbaとperformanceに関するnabinnoのブックマーク (2)

  • Office TANAKA - VBA高速化テクニック[配列を使う]

    パソコン通信時代に書いた、この「VBA高速化テクニック」の中で、間違って伝わっているな~と感じていたのは、冒頭の「画面を止める」と、これ「配列を使う」です。90年代のパソコンはスペックが低かったです。CPUは遅いし、メモリも少なく低速、Windowsの画面描画機能も遅かったし、そもそもExcelもそれほど速くはなかったです。そんな中で、大量のセルにアクセスするのなら、一度配列に入れて配列を操作する方が速いよって話でした。でも、何となく「配列に入れると速い」ということだけが一人歩きして、とにかく何でも「配列は速い!配列は速い!配列!配列ぅ!」って言われてます。 ちょっとやってみましょうか。まずは単純に、データを探す操作から。A列に200,000個の名前が入っています。この中から"田中"を探して、該当するB列の数値を取得します。ちなみに"田中"は一番下のセルA200000にあります。 Sub

  • 『VBAマクロの実行処理速度を上げる方法』

    先日、さくちゃんのブログでも紹介されていたのですが、こちらでも紹介したいと思います。 通常エクセルのマクロは1→2→3....→10のようにプログラム通りの処理をエクセル上でも行うのですが、下記の文を入れる事で 1→10という風にエクセル上の処理を省略する事ができます。 この手のは特にコピーの処理などが含まれたりするといかに速くなるかというがよくわわかります。 実際、私のマクロでもやってみると、5秒位かかってる処理が一瞬に早変わり。 ちょっと感動しました。 Application.ScreenUpdating = False 一度、マクロに組み込んでしまえば、そのマクロの処理が終了までは有効です。 Application.ScreenUpdating = True で最後を締めると。 締めなくてなんか問題ないんですけど、そういうものだと思って閉めておきましょうw 後、これマクロ作成時は多分

    『VBAマクロの実行処理速度を上げる方法』
  • 1