Amazonの「なか見!検索」で書籍中身の一部が見られます。
先日「ExcelVBAを実務で使い倒す技術」という本を買いました。
会社でVBAを使っている方向けのタイトルですが、そうでなくても役立ちます。
どういうところに気を付ければ、より使いやすくなるか、ポイントが具体的に書かれています。
今回は、特にとても大事だと思った点を、いくつかピックアップして紹介したいと思います。
合わせて著者サイトにリンクを貼りました。サイトでも詳しく掲載されています。
・VBAのメニューの「ツール」→「オプション」で開く「オプション」ウィンドウの
「エディターの設定」タブで、分類コードごとの色を、見やすくなるように設定しましょう。
▼参考▼
【エクセルVBA】VBEの背景色や文字色を変更して画面を見やすくしよう
コメントにするときにシングルクォーテーションを付けたり外したりしますが、
キーボードで簡単にオンオフできるように設定しておきましょう。
「コメントブロック」「非コメントブロック」のアイコンに、アクセスキーを設定します。
▼参考▼
【エクセルVBA】VBEにコメントブロックのショートカットキーを設定する方法
(1) オブジェクトに続けて、「.(ピリオド)」でメンバー候補を表示
(2) ショートカットキー「Ctrl」+「Space」で、メンバー候補をいつでも表示
・自動メンバー表示が使えるようにコードを書く
Worksheet(Index)
Sheets(Index)
Cells([RowIndex],[ColumnIndex])
上記の場合は、メンバー候補が表示されないので、
一行で書くことよりも、メンバー表示が使えるようにコードを書くことをこころがけましょう。
▼参考▼
【エクセルVBA】初心者にとっても便利なVBEの自動メンバー表示とその使い方
以下のようなショートカットキーの設定があります。
前のプロシージャに移動
次のプロシージャに移動
モジュールの先頭に移動
前の単語に移動
次の単語に移動
単語のカーソル以前を選択
単語のカーソル以後を選択
・変数またはプロシージャの定義の表示
定義の表示 Shift + F2
元の位置へ移動 Ctrl + Shift + F2
▼参考▼
【エクセルVBA】最初っから知っておきたいVBEのショートカットキーまとめ
プロシージャで使用する変数の宣言を、プロシージャ冒頭で全て行う人がいますが、必ずしもそれが正しい訳ではありません。
最初にすべてを宣言すると、そのプロシージャの読み始めから全ての変数を意識する必要がでてきます。
しかし、使用する直前で変数宣言すれば、必要な時に意識すれば良いことになりますし、素早く型宣言も確認ができ、稼働区政に良い影響を及ぼすことが多いと言えます。
宣言は使用する直前に書いてある方が、コードがとても読みやすいです。
コード内にベタ打ちで書かれた数値を「マジックナンバー」といいます。
コード内に直接数値が書かれていると、都度「これは何を表している数字?」と考えないといけないので、可読性が低下します。
なのでなるべく避けましょうという話です。
・あなたのチームを最大に苦しめ得るリスク
あなたがVBAを使いこなし周りに貢献をし続けるほど、あなたのチームを最大限に苦しめる、「とあるリスク」が高まっていくことになります。
さて、、、それは何かわかりますか?
ふふふ。
・VBAをチームで維持管理するための2つの方針
まず、最も望ましいのは
(1)VBAを複数人で担当する複数人体制がどうしても難しい場合は、次点の策として
(2)外部のサポートを前提に、ドキュメント等を整備・共有しておく・リーダブルコードでコードを記述しておくこと
・ドキュメントが整備され、その存在と内容がチームメンバーに共有されていることVBAをチームの資産とすることを怠ることで、せっかく作ったVBAがブラックボックスと化し、さらにはお蔵入りになってしまうということが、ビジネスの現場では実際に頻発してしまっています。
あなた自身が脱初級を達成したとしても、生み出したVBAがお荷物になってしまうのであれば、そんな悲しいことはありません。
自分がコードを書いて機能を追加すればするほど、負の資産になるなんて、そんなのイヤです(涙
ドキュメントが足りないので、がんばって作ります、すすすすす、、、
あ。。。
ううう。。。(壊れてきた私)
バージョン管理をGitでしましょう、う、ぅぅぅ
ファイルの置き場所は社内のサーバーでもいいですよね、やってみよう。
・チームでコーディングルールを統一する
チーム内の複数人でVBAの開発をしている場合、コードの書き方を揃えるように努力しなければなりません。
・コーディングルールを作成、更新する
・コーディングルールに沿ってリファクタリングをする
会社内ではコーディング規約を作った方が良さそうです。
何も決まっていないと、一人で書く時も表記がゆれたり、書き方が変わってしまったりすることも起こりえます。
リファクタリング大変だけど、がんばろう・・・
▼参考▼
著者の会社で作ったコーディングガイドラインが公開されています。
エクセルVBAコーディングガイドライン【随時更新】
勉強していると、痛い(対応できてない)こともあって、それを知って、知った直後は、うわあああと頭を抱えたくなるのですが、今のまま負の資産を増やしていきたくはないので、、、
これからこの本を参考に社内で勉強会をする等して、
少しずつでも、社内でのコードのクオリティを上げていきたいと思います。(なんだこの社内で抱負を発表するようなまじめな記述は・・・でも本当にそう思います・・・)
メンテナンスしやすいコードが書けるように、複数メンバーでも対応しやすいように、
さらに学習を進めていきたいと思っています。
うわあああ(叫び)と言いながら(涙)
どうせやるなら、楽しく進めていきたいと思います。
これはVBAについての話ですが、言語がVBAでなくても大切なことなので、身につけて損はないですよ。
ふぁいとー!
▼書籍(楽天ブックス)はこちら
ExcelVBAを実務で使い倒す技術 [ 高橋宣成 ]
▼書籍(Amazon)はこちら
ExcelVBAを実務で使い倒す技術 高橋宣成著!
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント