2020-01-14に更新

「ExcelVBAを実務で使い倒す技術」ノウハウ!紹介

ExcelVBAを実務で使い倒す技術 高橋宣成著!

book.png

Amazonの「なか見!検索」で書籍中身の一部が見られます。

はじめに

先日「ExcelVBAを実務で使い倒す技術」という本を買いました。
会社でVBAを使っている方向けのタイトルですが、そうでなくても役立ちます。
どういうところに気を付ければ、より使いやすくなるか、ポイントが具体的に書かれています。

今回は、特にとても大事だと思った点を、いくつかピックアップして紹介したいと思います。
合わせて著者サイトにリンクを貼りました。サイトでも詳しく掲載されています。

1-2 今すぐに見直すべきVBEの設定とは

・VBAのメニューの「ツール」→「オプション」で開く「オプション」ウィンドウの
「エディターの設定」タブで、分類コードごとの色を、見やすくなるように設定しましょう。

▼参考▼
【エクセルVBA】VBEの背景色や文字色を変更して画面を見やすくしよう

1-3 コメントブロックのアクセスキーを設定する

コメントにするときにシングルクォーテーションを付けたり外したりしますが、
キーボードで簡単にオンオフできるように設定しておきましょう。

「コメントブロック」「非コメントブロック」のアイコンに、アクセスキーを設定します。

▼参考▼
【エクセルVBA】VBEにコメントブロックのショートカットキーを設定する方法

1-4 自動メンバー表示で「打たずに打つ」

(1) オブジェクトに続けて、「.(ピリオド)」でメンバー候補を表示
(2) ショートカットキー「Ctrl」+「Space」で、メンバー候補をいつでも表示

・自動メンバー表示が使えるようにコードを書く

Worksheet(Index)
Sheets(Index)
Cells([RowIndex],[ColumnIndex])
上記の場合は、メンバー候補が表示されないので、
一行で書くことよりも、メンバー表示が使えるようにコードを書くことをこころがけましょう。

▼参考▼
【エクセルVBA】初心者にとっても便利なVBEの自動メンバー表示とその使い方

1-5 マスターしておくべきVBEのショートカットキー

以下のようなショートカットキーの設定があります。

前のプロシージャに移動
次のプロシージャに移動
モジュールの先頭に移動

前の単語に移動
次の単語に移動
単語のカーソル以前を選択
単語のカーソル以後を選択

・変数またはプロシージャの定義の表示

定義の表示 Shift + F2
元の位置へ移動 Ctrl + Shift + F2

▼参考▼
【エクセルVBA】最初っから知っておきたいVBEのショートカットキーまとめ

6-5 変数はどこでどのように宣言すべきか

 プロシージャで使用する変数の宣言を、プロシージャ冒頭で全て行う人がいますが、必ずしもそれが正しい訳ではありません。
 最初にすべてを宣言すると、そのプロシージャの読み始めから全ての変数を意識する必要がでてきます。
 しかし、使用する直前で変数宣言すれば、必要な時に意識すれば良いことになりますし、素早く型宣言も確認ができ、稼働区政に良い影響を及ぼすことが多いと言えます。

宣言は使用する直前に書いてある方が、コードがとても読みやすいです。

7-3 定数・列挙型でマジックナンバーを避ける

コード内にベタ打ちで書かれた数値を「マジックナンバー」といいます。
コード内に直接数値が書かれていると、都度「これは何を表している数字?」と考えないといけないので、可読性が低下します。
なのでなるべく避けましょうという話です。

第8章 VBAは個人作業のみならず「チーム」にも革命をもたらす

8-1 VBAはチームの資産にするべき

・あなたのチームを最大に苦しめ得るリスク

あなたがVBAを使いこなし周りに貢献をし続けるほど、あなたのチームを最大限に苦しめる、「とあるリスク」が高まっていくことになります。

さて、、、それは何かわかりますか?

ふふふ。

・VBAをチームで維持管理するための2つの方針

まず、最も望ましいのは
(1)VBAを複数人で担当する

複数人体制がどうしても難しい場合は、次点の策として
(2)外部のサポートを前提に、ドキュメント等を整備・共有しておく

リーダブルコードでコードを記述しておくこと
ドキュメントが整備され、その存在と内容がチームメンバーに共有されていること

VBAをチームの資産とすることを怠ることで、せっかく作ったVBAがブラックボックスと化し、さらにはお蔵入りになってしまうということが、ビジネスの現場では実際に頻発してしまっています。
あなた自身が脱初級を達成したとしても、生み出したVBAがお荷物になってしまうのであれば、そんな悲しいことはありません。

自分がコードを書いて機能を追加すればするほど、負の資産になるなんて、そんなのイヤです(涙
ドキュメントが足りないので、がんばって作ります、すすすすす、、、

8-3 Gitでソースコードとそのバージョン楽に管理する

あ。。。
ううう。。。(壊れてきた私)

バージョン管理をGitでしましょう、う、ぅぅぅ

ファイルの置き場所は社内のサーバーでもいいですよね、やってみよう。

8-4 リファクタリングでチームのコードに一貫性を持たせる

・チームでコーディングルールを統一する

チーム内の複数人でVBAの開発をしている場合、コードの書き方を揃えるように努力しなければなりません。

・コーディングルールを作成、更新する
・コーディングルールに沿ってリファクタリングをする

会社内ではコーディング規約を作った方が良さそうです。
何も決まっていないと、一人で書く時も表記がゆれたり、書き方が変わってしまったりすることも起こりえます。

リファクタリング大変だけど、がんばろう・・・

▼参考▼
著者の会社で作ったコーディングガイドラインが公開されています。
エクセルVBAコーディングガイドライン【随時更新】

まとめ

勉強していると、痛い(対応できてない)こともあって、それを知って、知った直後は、うわあああと頭を抱えたくなるのですが、今のまま負の資産を増やしていきたくはないので、、、

これからこの本を参考に社内で勉強会をする等して、
少しずつでも、社内でのコードのクオリティを上げていきたいと思います。(なんだこの社内で抱負を発表するようなまじめな記述は・・・でも本当にそう思います・・・)

メンテナンスしやすいコードが書けるように、複数メンバーでも対応しやすいように、
さらに学習を進めていきたいと思っています。

うわあああ(叫び)と言いながら(涙)
どうせやるなら、楽しく進めていきたいと思います。

これはVBAについての話ですが、言語がVBAでなくても大切なことなので、身につけて損はないですよ。
ふぁいとー!

▼書籍(楽天ブックス)はこちら
ExcelVBAを実務で使い倒す技術 [ 高橋宣成 ]

▼書籍(Amazon)はこちら
ExcelVBAを実務で使い倒す技術 高橋宣成著!

ツイッターでシェア
みんなに共有、忘れないようにメモ

Hata

個人でアプリを作ってたりなかったり(゚ω゚)。

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント