CATEGORY VBA

Excelの定義書からVBAでSQLを作成する

仕事で使うテーブル定義書がExcelで作られていることが多いです。 そして、どの現場でもその定義書からCREATE文やINSERT文を作ることが多いです。自分の単体テスト環境を作るときなどです。 せっかくテーブル定義書が…

VBAで表示するメッセージをシートで管理する

画面に表示するメッセージの管理についてですが、Javaや.NETなどでアプリケーションを作成する場合には、定義を外出しにすることがほとんどだと思います。 しかし、ExcelVBAのアプリケーションの場合は、メッセージ管理…

【VBA】Dictionaryの件数が多くなると処理が遅くなる

大量データ処理時のVBAの性能対策で2番目に悩まされるのが、Dictionaryの追加と取得の処理が遅くなってくることだと思います。 ちなみに、最も悩ましいのがセルへのアクセスだと思います。 セルのアクセスは時間がかかる…

【VBA】ブックを開かずに別ブックの値を取得する

VBAで現在開いているブックとは別のブックの値を取得したいことがあります。 しかし、この別ブックの値を取得する処理は以下の考慮事項があるので、個人的にはあまり使いたくない機能です。 ブックを開くのを待つので時間がかかる …

【VBA】GoTo文は可読性を下げるのか?

プログラミング業界でよく言われていることの一つに「goto文は可読性が悪くなるので使ってはいけない」ということがあります。 私も新卒の頃にその鉄則を先輩から叩き込まれました。そのため、VBAでもgoto文は極力使わないよ…

VBAでクラスモジュールを使うメリットについて

ExcelVBAには標準モジュールとクラスモジュールが用意されているのですが、私が見たほとんどのVBAアプリでは標準モジュールのみが使用されています。 また、私が作成する時にも、標準モジュールのみで作成することが多いので…

【VBA】ScriptControlを使用せずにJSONをパースする

ExcelでJSONを扱いたいときなんですが、基本的には「データの取得と変換」で取り込むのが一番簡単だと思います。(これは記事の最後の方で記載します) しかし、「VBAでRESTAPIに対してリクエストを投げて色々解析し…