2024年5月8日のブックマーク (5件)

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

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

    SigmaDelta
    SigmaDelta 2024/05/08
    VBA高速化
  • VBA【爆速】【配列】8割無意識に使っている!?エクセルVBAでは配列を意識して使おう【マクロ高速化】 - JoVBA

    エクセルVBAの処理で、シート上のセルを使わずに、配列を使うことで「VBA高速化」に繋がります。 なので、エクセルのマクロ高速化(VBA高速化)するには、配列は必須技術です。 その他のマクロ高速化(VBA高速化)の方法を知りたい方はこちら(時間の無駄を無くす VBA高速化)をご覧ください。 配列は難しそうですが、イメージとデバッグ方法さえ掴めば、できちゃうと思います。 VBAでセルをコピーしてどこかに貼り付けする重い処理も配列を使えば、VBA高速化できちゃいます。 VBAで、一次元配列、二次元配列を使いこなせると VBAが高速化し、デバッグ時間も実行時間も短くなるので、ぜひ、覚えてください。 初心者向けに、配列の使い方や意味を説明するつもりですが、読んでも、わからない場合は、コメントにて質問してください。 ◆配列とは 複数のデータを並べたデータ構造のことを指し、その複数のデータはインデック

    VBA【爆速】【配列】8割無意識に使っている!?エクセルVBAでは配列を意識して使おう【マクロ高速化】 - JoVBA
    SigmaDelta
    SigmaDelta 2024/05/08
    VBA高速化
  • 【VBA高速化】爆速処理にする簡単な方法【マクロが遅いと感じるあなたへ】 - JoVBA

    ExcelVBAを高速化する方法を紹介します。 合わせて、エクセルのマクロが遅い原因とその対策方法も紹介します。 VBAを高速化しようとしたことのない方は、この記事を読めば 確実にVBAを高速化することができます。 意識すれば簡単にできますので、VBAを高速化して処理速度を改善したい方はかなりおすすめです。 VBA高速化のテクニックなどは、ありません。ただの知識といいますか、やり方です。 初心者の方に向けて、説明していますので、VBA初心者ではない方は こちら(VBA高速化の方法)から読んでいただいた方が手っ取り早く、VBA高速化できると思います エクセルで大量データを処理するとマクロが遅い、重いと感じたり そんなに重いマクロ処理をしていないのにマクロが重いと感じる方がいると思います。 マクロって知らぬ間に遅くなってしまいがちですが。来はもっとマクロを早く処理したいですよね。 VBA

    【VBA高速化】爆速処理にする簡単な方法【マクロが遅いと感じるあなたへ】 - JoVBA
    SigmaDelta
    SigmaDelta 2024/05/08
    VBA高速化
  • エクセルマクロVBAで大量データの処理動作が遅いときの対処法|高速化する方法

    上記の3つを使用すると、マクロの処理が一気に低下します。なぜ処理が遅くなるかというと、理由は以下の通りです。 エクセルワークシート関数の使用を処理が遅くなる ワークシート関数とは、vlookupやsumif関数のことです。 実は、マクロで処理をするたびに、開かれている「すべてのエクセルファイル」の「すべてのシート」の「すべてのワークシート関数」が再計算されます。 つまり、ワークシート関数があればあるほど、関数の計算量が増えてしまい、エクセルマクロの動作が重くなります。もし、計算量の多い関数(vlookup,sumif,sumproductは要注意)が含まれていると、さらに重たくなります。 もし、あなたがエクセル仕事が遅くて困っているなら、 ・エクセルワークシート関数を使わない ・マクロ起動中だけ、エクセルワークシート関数の再計算をオフにする といった対策が必要です。 エクセルの画面表示の更

    SigmaDelta
    SigmaDelta 2024/05/08
    VBA高速化
  • 【ExcelVBA入門】処理の実行時間を高速化する方法を徹底解説! | 侍エンジニアブログ

    VBAで処理高速化するテクニック VBAで処理を高速化するテクニックについて、解説します! 画面更新をOFFにする 最初は、画面更新をOFFにする方法です。VBAで処理を書くときは、別シートからデータコピー、シート追加、シート削除、ソート実行など、画面が動く処理を使うケースがよくありますよね。 そのため、画面更新をOFFにして処理結果の画面だけを表示するようにすると、画面表示分の時間を短縮できるのでおすすめです。 Sub Test() '画面更新停止 Application.ScreenUpdating = False 'メイン処理******************************** ‘***************************************** '画面更新再開 Application.ScreenUpdating = True End Sub 処理の最初

    【ExcelVBA入門】処理の実行時間を高速化する方法を徹底解説! | 侍エンジニアブログ
    SigmaDelta
    SigmaDelta 2024/05/08
    VBA高速化