目次
第1章 マクロで仕事を,そして人生を変えた人たち
~マクロとは? VBAとは?~
1-1 Excelの「マクロ」を覚えるとなにができる?
- マクロとVBAの違い
- Excel VBAでできることの説明が難しい理由
1-2 マクロを覚えると,あなたの仕事が,いえ,人生だって劇的に変わる!
- 「マクロ記録」だけで残業がなくなった!
- 間接部門のスリム化に成功!
- 契約社員から,「契約社員を評価する正社員」に昇格!
第2章 VBAを知らなくても「録音」機能でマクロが作れる
~マクロ記録と,マクロの保存と実行~
2-1 操作を「録音」してくれるのが「マクロの記録」
- [開発]タブを表示する
- マクロを記録する
2-2 マクロを保存したり,マクロを含むブックを開く方法を覚えよう
- マクロを含むブックを保存する
- ブックを開いてマクロを有効にする
2-3 Excelの編集作業よりもはるかにカンタンなマクロの編集作業と,マクロの実行方法,登録方法を覚えてしまおう
- マクロをVisual Basic Editorに表示して内容を変更する
- マクロをVisual Basic Editor上で実行する
- マクロを[フォームコントロール]のボタンに登録する
- マクロをショートカットキーに登録する
2-4 マクロの骨組みと必須ワード
- マクロの構成
- マクロの基本用語
第3章 スマホが使える人ならVBEは大丈夫
~VBEの基本機能とエラーへの対処~
3-1 Visual Basic Editorのメニューは使う必要がない!
- プロジェクトエクスプローラーと標準モジュール
- 標準モジュールを挿入する
- 標準モジュールを削除する
- モジュールとは? プロジェクトとは?
3-2 キーワードはVBEに表示された候補の中から選ぶだけ!
- 「自動メンバー表示」機能を体験する
- 「入力候補」でメッセージボックスを表示する
3-3 書いている最中のエラーと,実行したときのエラーに対処しよう
- マクロを書いている最中に出るエラー
- マクロを実行したときに出るエラー
- マクロが思うように動かないエラー
第4章 日本語がわかる人はVBAの基本文法を無意識にマスターしている
~VBAの3つの基本文法~
4-1 「私は走る」――この日本語を英語で書ければ,VBAはなにも怖くない!
- VBAの文法は3つしかない
- Excelの部品のことを「オブジェクト」と呼ぶ
- オブジェクトの動作のことを「メソッド」と呼ぶ
- メソッドの動作を細かく指示する
- Sheetオブジェクトではなく,Worksheetオブジェクトを使う
4-2 マクロ記録があるのにVBAを学習する訳は?
- マクロ記録の限界を理解する
- 親オブジェクトを指定する
4-3 「黒い」瞳はカラコンで「青」に「変える」ことができる。VBAも同じ仕組み
- オブジェクトの特徴のことを「プロパティ」と呼ぶ
- プロパティの値を変更する
4-4 VBAにも「コレクション」がある
- オブジェクトの集合体=コレクション
- コレクションとオブジェクトをすっきり理解する
第5章 VBAでデータベースを扱うためのカンタン・必須テクニック
~VBAでセルを自由自在に操作する~
5-1 四則演算マクロを体験して,日々の計算業務に役立てよう!
- セルにはRangesコレクションはない
- 四則演算マクロを体験する
- セルにさまざまな種類の値を代入する
- セルの値を消去する
5-2 セルを自在に操るための「セルを選択する」テクニック
- セル番地でセルを選択する
- 行や列全体を選択する
- すべてのセルを選択する
- アクティブシートのセルしか選択できない
5-3 今度は「選択されたセル」の位置を変えてみよう
- 選択されたセル範囲の行と列の位置を変更する
5-4 続いて,「選択されたセル」のサイズを変えてみよう
- 選択されているセル範囲の行数と列数を取得する
- 行数や列数を変更してセル範囲のサイズを変更する
- OffsetプロパティとResizeプロパティを併用する
5-5 VBAでデータベースを操作! 半日かかる手作業が数秒に!
- データベース全体を選択する
- CurrentRegionプロパティでデータベース範囲を印刷する
- CurrentRegionプロパティでデータの登録件数を取得する
- CurrentRegionプロパティでデータベース範囲に罫線を引く
- データベースの操作に必須のEndプロパティとは?
- Endプロパティでデータベースの一番下の行に移動する
- Endプロパティで新規データを入力するセルに移動する
第6章 作業自動化の真骨頂!処理を繰り返すテクニック
~変数と繰り返し処理(ループ)~
6-1 「変数」の規則は冷蔵庫の仕組みとまったく同じ!
- Dimステートメントで変数を宣言する
- 変数のデータ型
- バリアント型という変数のデータ型
- 変数を宣言しないとマクロが動かないようにする
6-2 大量のデータを瞬時に処理する繰り返し処理をマスターしよう
- For...Nextステートメント(繰り返し処理)を理解する
- 仕事に応用しやすい「足し算マクロ」を理解する
6-3 繰り返し処理の応用で,見やすい表を一瞬で作るマクロを準備しておこう
- 表に5行おきに罫線を引く
第7章 人生もマクロも「条件分岐」が最大の醍醐味!
~If...Then...Elseステートメント~
7-1 給料日前には牛丼。ボーナスのあとには焼き肉。こんな「分岐」がVBAにもある
- If...Then...Elseステートメントで条件分岐をする
- Ifステートメントでセルが空白かどうかを判断する
- Ifステートメントの比較演算子を理解する
- 複数の条件を判断する(ElseIfとElseを使う)
7-2 「やせたいけど1日2食は食べたいし,ジム通いはイヤだけど運動はしないと」――複雑な条件を満たすためのIfステートメント
- 複数の条件を満たしたときに処理を実行する(And演算子)
- 複数の中から一つの条件を満たしたときに処理を実行する(Or演算子)
- Ifステートメントを入れ子にする
- 1行のIfステートメントと「True」「False」の省略
7-3 繰り返し出てくるキーワードを1回書くだけにして,マクロを読みやすくするテクニック
- Withステートメントの基本構文
- WithとNotでTrueとFalseを切り替える
7-4 作業時間短縮をコツコツ積み重ねて業務効率アップ!
- そのほかの「オンとオフのスイッチ・マクロ」
7-5 全VBAユーザー必見の「重複データを削除する」マクロ
- For...Nextステートメントで,カウンタ変数を減算しながらループする
第8章 「対話型のマクロ」で不正なデータ入力を防ぎ,あとからデータベースの整形作業に追われないようにする
~MsgBoxとInputBoxによる「対話型のマクロ」~
8-1 MsgBoxを使い倒して,ユーザーに処理を選択させよう
- メッセージボックスで押されたボタンを判断する
- MsgBoxでメッセージボックスにボタンを表示する(引数「Buttons」)
- MsgBoxでメッセージボックスにアイコンを表示する(引数「Buttons」)
- MsgBoxでメッセージボックスにタイトルを表示する(引数「Title」)
- MsgBoxで文字列と変数を連結する
- MsgBoxの対話型マクロを体験する
8-2 ダイアログボックスに決められた種類のデータしか入力させないようにして,作業ミスを減らそう
- InputBoxメソッドの対話型マクロを体験する
- 文字列の入力を促すダイアログボックスを表示する
第9章 VBA関数を使えれば,文字列操作や日付処理も自由自在!
~ワークシート関数よりカンタンなVBA関数~
9-1 まずはVBA関数の基礎を理解しておこう
- ワークシート関数とVBA関数
- メソッドとVBA関数の違い
- VBA関数の構文の見方
9-2 文字列を自在に操作して,VBA関数でデータベースを思いのままに操ろう
- 文字列を取得する(Left関数・Right関数・Mid関数・Len関数)
- 文字列を検索する(InStr関数)
- アルファベットの大文字と小文字を変換する(LCase関数・UCase関数)
- 文字列からスペースを削除する(LTrim関数・RTrim関数・Trim関数)
- 指定した文字列を検索し別の文字列に置換する(Replace関数)
9-3 関数の醍醐味は文字列操作と日付処理。次は日付処理をマスターしよう
- 今日の日付を取得する(Date関数)
- 現在の時間を取得する(Time関数)
- 今日の日付と現在の時間を取得する(Now関数)
- 日付から年・月・日を取り出す(Year関数・Month関数・Day関数)
- 時刻から時・分・秒を取り出す(Hour関数・Minute関数・Second関数)
- 日付を元に曜日を取得する(WeekdayName関数)
9-4 そのほかの重要テクニックをマスターして,VBA関数の基礎を網羅しよう
- VBAでExcelのMAXワークシート関数を使う
- 日付・時刻型であるかどうかをチェックする(IsDate関数)
- 数値であるかどうかをチェックする(IsNumeric関数)
- 乱数を生成する(Rnd関数)
第10章 今日から早速実務に使ってほしい20のマクロ
~即効性バツグンのサンプルたち~
- 本章の目的
- 確認メッセージを表示せずにブックを閉じる方法
- 確認メッセージを表示せずにシートを削除する方法
- ユーザーが再表示できないようにシートを非表示にする方法
- 数式が入力されているセルをすべて保護する方法
- エラーを含む数式をクリアする方法
- 数式を値に変換する方法
- アクティブセルを画面の左上に表示する方法
- セルの値のデータ型を確認する方法
- 日付に変換されてしまう値を文字列として入力する方法
- 分割された年月日を一つの年月日に結合する方法
- 月の最終日を取得する方法
- 1行おきに行を挿入する方法
- 1行おきにセルに背景色を塗る方法
- 空白セルを含む行をすべて削除する方法
- 「ある文字」が入力されているセルを検索する方法
- すべてのコメント内の文字列を検索する方法
- セルのふりがなを取得する方法
- 2枚のシートの両方に存在する行だけを抽出する方法
- 2枚のシートの片方にしか存在しない行だけを抽出する方法
- 4つ以上の列でソートする方法