2024年3月10日のブックマーク (4件)

  • VBA デバッグの仕方

    はじめに Excel VBA マクロのデバッグの仕方を紹介します。 デバッグとは、プログラムがどのように実行されているか調査することです。VBA マクロに不具合があるときに、変数の値や処理の流れなどが意図したとおりになっているかデバッグして、問題となっている原因を突き止めます。 F8 キーから実行すると、1 行ずつステップイン実行できます。 ブレークポイントを設定してそこで処理を中断できます。 ツール > オプション > 全般 > エラー発生時に中断 を選択して、エラー発生時に処理を中断できます。 Debug.Print(変数名) から、変数の値をイミディエイトウィンドウに出力できます。 1 行ずつ実行する VBA を実行するには F5 キーを入力しますが、F8 キーを入力して実行すると、最初のコードから 1 行ずつステップインして実行できます。 デバッグ用のショートカットキーを使うと便利

    VBA デバッグの仕方
    kobokusan
    kobokusan 2024/03/10
  • 【VBA】大量データから高速で値を検索【Dictionaryを使う】

    Excel VBAで、大量データから「高速」で値を検索したいという場合は、「Dictionary」を使うとできます。Dictionaryを使えば、検索する際のループ回数を減らすことができるので、高速化できます。うまくDictionaryを使って、VBAの処理を高速化していきましょう。

    【VBA】大量データから高速で値を検索【Dictionaryを使う】
    kobokusan
    kobokusan 2024/03/10
  • Excel VBAでCSVオープンするときのパフォーマンス比較 - Qiita

    概要 Excel VBACSVオープンするときのパフォーマンス比較です。 ついでにCSVオープン用のクラスモジュールも作ったので紹介してます。 比較対象 下記方法の実行時間を比較します。 1. Workbooks.Openでファイルオープン + セル参照 2. Workbooks.OpenTextでファイルオープン + セル参照 3. Openで開いて1行ずつ読む + Splitで分割 4. OpenAsTextStream.ReadAllで全部読む + 正規表現で解析 5. QueryTablesを使ってファイルオープン + セル参照 結果 ちょうど環境があったExcel 2007とExcel 2013での計測結果です。 横軸は、10個のCSVファイルのオープンを3回行ったときの処理時間になってます。 遅い。読み込むだけなら使わない方がいい。 遅い。読み込むだけなら使わない方がいい。

    Excel VBAでCSVオープンするときのパフォーマンス比較 - Qiita
    kobokusan
    kobokusan 2024/03/10
  • エクセルマクロのお作法(計算用シートという諸悪の根源について)

    前置きこの日記の内容は、会社の後輩から「最近エクセルマクロを勉強し始めて(キラキラ)」という話を聞いて、先輩ムーブをかますために話した内容になります。 とにかくこれから説明する「計算用シート」が憎くて憎くてたまらず、ちょっと引かれるほど熱弁してしまいました。 ただ、他の方がどうされているのかや、逆に「計算用シート」を愛用する方の意見も聞きたくなり、増田に書いてみました。 増田の経歴中小企業の非エンジニア(事務職員)エクセルマクロ歴8年くらい 初めて触った言語がVBAで、前任が作ったエクセルマクロを改修をいきなり頼まれたのがきっかけ会社の都合でJava Script、PHPからなる社内システムの改修、保守を担当したことあり 今は趣味PythonNLP、LLMを勉強中この記事の趣旨エクセルマクロのお作法とか書きましたが、要するにエクセルマクロで「計算用シート」って色々な意味でよくないよね、

    エクセルマクロのお作法(計算用シートという諸悪の根源について)
    kobokusan
    kobokusan 2024/03/10