ついて情報発信しています。VBAプログラムは本当の初心者から他のアプリケーションを呼び出して使う上級者的な使い方まで幅広いレベルで解説していきます。エクセルさんの気持ちになって高速化する2019-09-25遅い、重いは勘違い。エクセルさんの気持ちになって高速化するVBAの勉強このブログの記事一覧にもどるTweet思えばエクセルさんは健気な存在です。遅いとか重いとか言われて。それは普段エクセルを使う事務職でプログラミングを知らない人はそういうこと自体にあまり思いが至らないかもしれません。VBAが遅いと言う人はコマンドラインから実行する他言語を知っていて、それらの言語と比較しているのだと推測します。他の言語を知っているので、自動化ツールは調べながらでもすぐに作れてしまった。動くので、極端に言えば、それがVBAと言う言語の実力だと思ってしまう。余計なループをしないなどの本質的な事はやった上でです。VBAを動かすプラットフォームであるエクセルさんは非常に多機能です。そこで、エクセルさんが気持ちよく動けるよう(実際に動いているのはエクセルさんではなくパソコンさんだけど、エクセルさんが動いてるイメージの方が分かりやすいのでこれでいい)、配慮してあげる余地があります。セルへの書き込みは最低限にする、csvファイルはエクセルブック上ではなく、内部的に開く、画面の更新はしなくていいときは止める、などです。これらはプログラムの実行速度の高速化の本質ではないかもしれません。本質はアルゴリズム的なムダを省く事。上の例はアルゴリズム的なムダではなく、エクセルさんに余計なお世話をしていただかなくて済むようにすることです。普段エクセルさんを、利用しているときはさんざんお世話になっているのに、プログラムを組む時だけ邪魔者扱いするなんてひどい!エクセルさんにひとつひとつ丁寧に接すれば、必ずこちらの希望する速さで実行してくれます。今回は画面の描画更新は不要ですよテキストは取り込めればいいので、ブック上に展開しなくていいですよセルには後でまとめて張り付けるので、途中計算は配列使いますね今回は値のみコピぺできればいいのでコピーメソッドではなく、値の代入にしておきますねと言ったようなことをちゃんと伝えてあげる事。PythonでAnacondaは重い、とかよく言われてが、言わばエクセルさんはAnacondaのようなものでクラスの塊です。大きなライブラリです。誰もが様々な用途に気軽に使えるようにする為です。エンジニア向けではなく、普通の一般事務職の為のソフトです。必要な機能だけインポートする、と言う概念ではありません。必要な機能だけインポートできないからこそ、余計な事は「しなくていよ」と言ってあげる必要があります。これをせずに、エクセルさんや、VBAの事を遅いと言うのは、彼らに失礼!丁寧に接して、エクセルさんとお互いいい関係を築きましょう。すれば彼らも期待に応えてくれます。※一万回の中に一万行のループがあればさすがにそれは時間がかかります。それはPythonでも同じです。08:22遅い、重いは勘違い。業務改善に関連する用語を解説する事典...2020-02-08エクセルVBAでできることと限界|業務自動化からピアノ演奏までエクセルVBAでできる事を紹介します。エクセルのマクロの記録機能の本当の使い方と価値エクセルにはマクロの記録という便利な機能がついています。...2019-09-24プログラミング言語としてVBAが好きだけど、次に進むエンジニアの人はサービスを作るのが目的。週間)1985年生まれの会社員。業務改善部隊に異動で芽を出し、現在に至る。本業での知識と経験を元に、ブログとTwitterで1生産性向上2業務改善3自動化について情報発信しています。アーカイブはてなブログをはじめよう!mutable_yunさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。