出版社を探す

ExcelVBAを実務で使い倒す技術

著:高橋宣成

紙版

内容紹介

苦労してExcelVBAの基礎を学んだのに、期待したほど仕事が楽にならない。実務で使っているうちに、気がついたらVBAが重荷になってきている。あなたは、そんな悩みをお持ちではないでしょうか。本書は、ExcelVBAを実務で使うことを前提に、現場で求められる知識と知恵を解説します。バグを素早く解決する、運用中のマクロを都度メンテナンスする、コードを継ぎ足して機能を足すテクニックなど、現場で必要なノウハウがわかります。

目次

第1章 脱初級への第一歩は「道具であるVBE」を使いこなすことから
1-1 まず最初に必要なのは「楽をする」スキル
初級から抜け出せていない。中級レベルまでもう少し
「楽をするスキル」とは何か
真っ先に取り組むべきなのは「VBE」
1-2 今すぐに見直すべきVBEの設定とは
VBEの設定を甘く見てはいけない
楽にVBAを扱うには「見栄え」も大切
自動構文チェックの無効化
変数の宣言を強制する理由
1-3 コメントブロックのアクセスキーを設定する
コメント機能は簡単に操作できるようにする
VBEで独自のアクセスキーを設定する
1-4 自動メンバー表示で「打たずに打つ」
タイプミスを0%にすることは不可能
うろ覚えでも素早くミスなく入力できる
自動メンバー表示が使えるようにコードを書く
1-5 マスターしておくべきVBEのショートカットキー
コードの量が増えてもカーソル移動に時間をかけない
変数またはプロシージャの定義の表示

第2章 イミディエイトウィンドウの神髄
2-1 イミディエイトウィンドウの役割を再定義する
入力画面としてのイミディエイトウィンドウの役割
イミディエイトウィンドウのショートカットキー
2-2 変数・プロパティの値とステートメントの結果を調べる
変数やプロパティの値を調べる
ステートメントとその結果を評価する
2-3 イミディエイトウィンドウからプロシージャを実行する
イミディエイトウィンドウでのプロシージャ実行
引数を渡してプロシージャを実行する
Functionプロシージャを検証する

第3章 バグを制するものはVBAを制する
3-1 なぜ、初級者はデバッグ作業で時間を浪費するのか
エラーに浪費している時間を限りなくゼロにする
エラーが解決できない主要因は「情報不足」
3-2 エラーメッセージは情報の宝庫、エラーは成長の糧
エラーをわざと発生させて「敵を知る」
ユーザー入力の内容によって発生するエラー
3-3 3種類のエラーと、よく見かけるエラーメッセージ
VBAで発生するエラーには3つの種類がある
コンパイルエラーと、そのよくあるパターン
実行時エラーと、そのよくあるパターン
3-4 ステップ実行で手がかりを得る
エラーの原因も発生箇所も分からないという例
ステップ実行とローカルウィンドウ
3-5 ブレークポイントを設定して手がかりを得る
ブレークポイントで処理を中断する
中断ポイントで変数・プロパティの値を調べる方法

第4章 システムの成功と失敗の分かれ目は設計にあり
4-1 成功のポイントはPCを活躍させること
全ての要望を取り入れれば良いわけではない
PCの力を最大限に借りる
4-2 インプット・プロセス・アウトプット
システムはIPOの組み合わせでできている
インプットとアウトプットがExcelである
システムが大きすぎる場合は小さなIPOに細分化する
4-3 PCにやさしいフォーマットとは
フォーマットがプロセスの複雑さを左右する
PCが得意なフォーマットはテーブル形式
人にやさしい形式と、PCにやさしい形式
4-4 IDとマスタ・入力規則で表記の揺らぎを防ぐ
表記の揺らぎはPCの天敵
IDとマスタにより表記の揺らぎを防ぐ
入力規則で指定した値のみ許容する

第5章 できる担当者のコーディングは発想からして違う
5-1 脱初級を阻害するコーディングのクセを取り除く
初級者に染みつきやすいコーディングのクセとは
正しく理解してコーディングをするには設計が不可欠
「コードを理解する」を定義する
5-2 VBAコードにする前に、日本語でプロセスを分解する
コーディングは「分解」と「翻訳」である
プロセスの分解は日本語で
プログラムの構成要素は3種類しかない
5-3 欲しい情報を効果的に調べ上げる高速検索術
情報源の特性を知り、効果的に情報を手に入れる
検索内容によって検索方法を使い分ける
特定のサイトにしぼってGoogle検索をする
VBA検索に役立つサイト
5-4 お決まりフレーズはストック&ペースト
マクロ記録と他人のコードはおすすめしない
自分のコードを資産として再利用する
ストックコード集
5-5 小さく細かくコーディングとテストを進める
コードを書いた端からテストを進めるべき理由
テストの範囲をできる限り絞る
まずテスト用のコードDebug.Printで出力する

第6章 リーダブルコードでVBAを資産化する
6-1 なぜ、リーダブルコードが必要なのか
優れたコードとは何か
書いたコードを負債とせず資産にすべき
6-2 読みやすいコードとは何か
「リーダブルコード」を定義する
シンプルなコードは読みやすい
「単位」に対して適切なボリューム
コードが持つ情報の密度を高める
6-3 ブロックとインデントでコードのフォルムを美しく
フォルムに情報を持たせる
Withでコードを美しく書く
ネストはできる限り浅く
縦のラインを揃えて書く
6-4 プロシージャはどのように分割すべきか
プロシージャの基本単位は「1画面」
プロシージャを分割する条件
6-5 変数はどこでどのように宣言すべきか
その変数は使うべきかどうか
暗黙の型は避ける
変数のスコープを絞る
6-6 ネーミングが情報の密度を上げる
変数やプロシージャに意味を持たせる
キャメル記法とスネーク記法
Boolean型を表現する名前
短いネーミングと日本語のネーミング
6-7 コードにない情報をコメントで伝える
コードにない情報を最小限の文字数で伝える
どのようなコメントを残すべきか
プロシージャとその構造を表すコメント
6-8 徹底してコードに一貫性を持たせる
条件式の左辺と右辺の配置
Boolean型の条件式
一貫性のある書き方を徹底する

第7章 「変化」への耐久性を持たせるためのVBAの作法
7-1 「変化」は必ずやってきてVBAを劣化させる
ちょっとした改修でも高くつくことがある
「変化」はシステムの劣化を招く
未来の変化に備える2つのアプローチ
7-2 同じコードを書いてはいけない
繰り返しで同じコードを1行にまとめる
同じ処理をプロシージャ化する
7-3 定数・列挙型でマジックナンバーを避ける
マジックナンバーには定数を使う
文字列の定数化で楽にVBAの運用をする
列挙型でグループにまとめて数値を割り当てる
7-4 ユーザー操作によるシステム干渉に耐えるVBAを作る
ExcelVBAでのユーザー操作による干渉
行数、列数の変更への対策
シートの変更への対策
ワークブックとシートを明示する
7-5 変化する「集合」にはコレクションを使う
コレクションとFor Each文
独自のコレクションを作る
7-6 膨らんでいくデータ量をどう取り扱えば良いのか
データ量も意識すべき「変化」である
データ量を抑えるためにすべきこと
7-7 マクロの実行時間を短縮するためのテクニック
繰り返しに注目して計算回数を減らす
マクロ実行時の自動計算をオフにする
画面表示の更新とイベントの発生をオフにする
セル範囲を配列に格納してから計算をする

第8章 VBAは個人作業のみならず「チーム」にも革命をもたらす
8-1 VBAはチームの資産にするべき
あなたのチームを最大に苦しめ得るリスク
VBAをチームで維持管理するための2つの方針
8-2 チームで情報を蓄積・共有して、強力なライブラリを作る
チームの情報を蓄積して共有する
更新性の高さで情報管理に濃淡をつける
階層的に情報をリンクでつなぐ
集合知はチームの強力な武器になる
8-3 Gitでソースコードとそのバージョンを楽に管理する
ファイル名でのバージョン管理の限界
Gitバージョン管理でできること
Gitを使ってバージョン管理を複数人で共有する
8-4 リファクタリングでチームのコードに一貫性を持たせる
チームでコーディングルールを統一する
リファクタリングとは
安全にリファクタリングを進める
8-5 技術ブログで情報を公開することで、新たな価値を生み出す
蓄積した情報を世界に向けて発信する
情報を公開することではじめて得られるもの

ISBN:9784798049991
出版社:秀和システム
判型:A5
ページ数:292ページ
定価:1800円(本体)
発行年月日:2017年04月
発売日:2017年04月20日
国際分類コード【Thema(シーマ)】 1:UB