ついて情報発信しています。VBAプログラムは本当初心者から他のアプリケーションを呼び出して使う上級者的な使い方まで幅広いレベルで解説していきます。2019/11/02>エクセルVBAで上級から初段にステップアップするシリーズです。今回は上級を卒業して初段になる為のステップを解説します。初段まで行けば一通り何でもできるレベルです。頑張っていきましょう。初心者~三段をご参照ください。初段へのステップ初段には誰でもなれる処理の流れにこだわる変数名にこだわるメンテナンスのしやすさに配慮する処理に掛かる時間に配慮する開発ドキュメントを整備する上級を卒業する手順まとめ初段へのステップ上級者を卒業する事はこれまでの延長で可能です。特別な技術はこの段階では特に必要ではありません。中級までと異なるのは、自分だけの便利ツールを作る段階から、他人に使ってもらえるツールを作る段階に変わってきていることです。これは大きな転換です。気をつけていかないと後々困ることが出てくるからです。自分だけの便利ツールと他人が使うツールの違いを理解し、対応していくことが初段へのステップです。初段には誰でもなれる既に述べたとおり、コーディングの技術自体は新しい知識はほとんどありません。ここまで来た方なら誰でも上級を卒業できます。新しいオブジェクトやメソッドを覚えていくと言うよりコーディングのスタイルを変えていくことが必要です。処理の流れにこだわるこれまで標準モジュールに記述していたコードはVBAではサブプロシージャと言います。ここに、実行する内容を順番に記述していけばOKでした。本当は標準モジュールとは全てのコードを書く場所ではありません。標準モジュールはプログラムの流れを制御すると言うのが本質です。初段以上ではオブジェクト指向という考え方を取り入れますが、上級レベルではまずはFunctionプロシジャを使って、必要な計算を外に出す事を覚え、機能をスニペットとして分離する感覚を身に付けましょう。スニペットとは、使い回しが利くひとかたまりのプログラムのことです。この部分を大切にすることによって、初段への到達だけで無く、初段以降のステップアップの速度に利いてきます。変数名にこだわるこれまで変数名については解説してきませんでした。VBAでは日本語含め、自由に変数名を決めることができる為です。自由に決められるからこそ、人に使ってもらうツールを開発する際には決めておくべきルールがあります。ルールに従ってコーディングすることは後々メンテナンスを担当する他人の為だけで無く、自分自身のためにもなります。理由は、パターン化することにより、変数名をどうしようか考える時間が短くできるからです。メンテナンスのしやすさに配慮するメンテナンスのしやすさに配慮するかどうかが中級と上級の違いで一番大きな所です。これまで解説してきた処理の流れや変数名についても、最終的にメンテナンスのしやすさに影響してきます。処理に掛かる時間に配慮する中級では経験と思いやりを重視してエラーと使い勝手を向上させてきました。ここでは一歩踏み込んで、処理に掛かる時間を短縮していきます。エクセルのマクロは実行中は他のエクセル作業ができなくなりますし、OutLookなどの他のアプリケーションの挙動も遅くなります。マクロの実行を極力短時間で終わらせる事を常に念頭に置くようにすると、実力が上がっていきます。中級時代までに作成した開発が完了したツールを、より短時間で終わるように書き換える作業はよい上達方法です。ユーザーから見た挙動を変えずに、コードを修正してメンテナンス性の向上や高速化を図ることをリファクタリングと言います。業務時間中は一度開発が完了するとなかなか、リファクタリングをしようという気にならないかもしれません。自分の実力向上のため、と思って、思い切ってリファクタリングの時間を取りましょう。ツールを使ってくれている人のためにもなります。「自分は、もう上級者なのだ」と意識を切り替えていきましょう。開発ドキュメントを整備する自分だけの便利ツールでは無く、他人に使ってもらうツールやシステムを作る際に必要です。自分がいなくなっても、ツールが壊れてしまっても、どういう挙動をしているのかを示した文書があれば、最悪の場合でも、同様の機能をもつツールを新たに開発することができます。このような配慮がある事が上級者を卒業する為に必要です。上級を卒業する手順まとめ詰まるところ、特殊な技術が必要なのでは無く、中級自体に学んだ「思いやり」の部分を強化したのが上級者で、それを具体的に行動に移せるようになるのが上級を卒業し初段へステップアップする為に必要であると言う事が分かりました。具体的な行動についてこの記事の内容をまとめると、下記の通りです。処理の流れにこだわる。サブプロシジャはプログラムの流れをコントロールする為のもの変数名にこだわるメンテナンスのしやすさに配慮する処理に掛かる時間に配慮し、高速化を念頭に置くリファクタリングは自分の為にもなるし、他人の為にもなる開発ドキュメントを整備するこれらの項目について次回以降、詳しく解説していきます。有段者の仲間入りを果たすために、頑張っていきましょう。上級者から初段へのステップアップの最終回です。日)1985年生まれの会社員。業務改善部隊に異動で芽を出し、現在に至る。本業での知識と経験を元に、ブログとTwitterで1生産性向上2業務改善3自動化について情報発信しています。【プログラミング】文法の勉強だけでは遠回り|挫折しない上達のコツ月別アーカイブはてなブログをはじめよう!mutable_yunさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。