出版社を探す

Excel VBAで本当に大切なアイデアとテクニックだけ集めました。

著:大村 あつし

紙版

内容紹介

「Excel VBAの文法は入門書で学んだ。基礎の知識はひととおりある。でも、実践になると思うようにマクロが書けない……」。Excel VBAは生産性アップや時短を後押ししてくれる強力なツールですが、こんな“困った”を持つ人が少なくありません。「なぜ書けないのか」を知り尽くす著者の大村あつしさんは、知識とアイデアは別のものと指摘します。「いま持っている知識にアイデアとテクニックを加えればマクロを書くスキルは目に見えて上がる。そして、必ず知っておきたいアイデアの数は厳選できる」と。本書は、自動化、高速化から、データベース、ユーザーフォーム、外部ファイルの操作まで、お持ちの知識を活性化して上級者への確かな足がかりを築くことをお助けします。

目次

Part 1

初中級者のつまずきに効く

【お助け】テクニック







Part 1で身につけること

「知識」と「アイデア」は別もの



セルを操作するテクニック

セルの値が空白かどうかを判定する

セルの値を空白にする

すべてのセルを選択する

日付に変換されてしまう値を文字列として入力する

「次のデータを書き込むセル」を選択する

セルの文字列内の空白をすべて削除する

変数に代入された文字列内の空白をすべて削除する

オブジェクトが描画されている左上と右下のセルを取得する



データを検索するテクニック

MATCH関数で完全に一致するデータを検索する

VLOOKUP関数で完全に一致するデータを検索する



重複データを削除するテクニック

RemoveDuplicatesメソッドで重複データを削除する

ループ処理で重複データを削除する



セルの値を判定するテクニック

セルの値が数値かどうかを判定する

セルの値が日付かどうかを判定する

セルの値が文字列かどうかを判定する

セルの数式がエラーかどうかを判定する



日付に関するテクニック

分割された年月日を1つの年月日に結合する

特定の日付から年月日や時分秒を取り出す

月の最終日を取得する

2つの日付の間の日数や年数を取得する

20日後や4カ月前の日付を取得する



Findメソッドを極めるテクニック

任意の文字列が入力されているセルを1つ取得する

任意の文字列が入力されているセルをすべて取得する

「数式の結果」ではなく「数式そのもの」を検索する



そのほかのテクニック

MsgBox関数で文字列と変数を連結する

Workbook_Openイベントプロシージャを実行させないでブックを開く

数式の再計算を一時的に止める







Part 2

フィルターを制す者がマクロを制す

【データベース】テクニック







Part 2で身につけること

フィルターで抽出したデータをどうするか



フィルターの初級テクニック

フィルターで抽出する

フィルターで空白のセルを抽出する

フィルターでトップ10や上位10%のデータを抽出する

フィルターで複数の条件で抽出する

フィルターでデータが抽出されているかどうかを判定する

フィルターで特定期間のデータを抽出する

フィルターで今週や今月のデータを抽出する

フィルターを解除せずに全データを表示する

フィルターで抽出されたデータをコピーする

(抽出されなかったデータを削除する)



フィルターの上級テクニック

フィルターで特定の文字を含む/含まないデータを抽出する

フィルターで数字の末尾をもとに抽出する

フィルターで「あ行」のデータを抽出する

フィルターの抽出結果のみを集計する

フィルターで抽出したデータ件数を取得する







Part 3

マクロ開発時に意外に思いつかない

【アイデア】テクニック







Part 3で身につけること

[選択オプション]ダイアログボックスをVBAで使いこなす

ウィンドウ操作テクニックでマクロの結果の見栄えをよくする

第5節こそアイデアマクロの真骨頂



SpecialCellsメソッドを簡単に使うテクニック

数式の保護、数値、文字列、可視セル、エラーのセルの操作

空白セルの行を削除する



ウィンドウを操作するテクニック

ウィンドウ内に表示されているセル範囲を取得する

スクロール範囲を制限する(スクロールエリア)

アクティブセルを画面の左上に表示する

任意のセル範囲を画面いっぱいに表示する



ブックとシートを操作するテクニック

現在実行中のマクロが記述されているブックを操作する

ブックの変更を保存せずにExcelを終了する

ユーザーが再表示できないようにシートを非表示にする

連番でワークシートを複数作成する



セルの応用テクニック

セルに名前を定義する

セルの名前をすべて削除する

特定の値を含むセルに色を付ける

一時的にソートしてからもとに戻す



For...Nextステートメントのアイデアテクニック

1行おきにセルに背景色を塗る

1行おきに行を挿入する

5行おきに罫線を引く







Part 4

個人用マクロブックとショートカットキーの

【省力快適】テクニック







Part 4で身につけること

まずは個人用マクロブックについて

使い勝手を決めるのはショートカットキー



マクロを個人用マクロブックのショートカットキーに登録する方法

個人用マクロブックを作成する

個人用マクロブックの場所を調べて削除する

マクロをショートカットキーに登録する



表示を切り替えるマクロ

数式の表示/非表示を切り替える

セルの目盛線(枠線)の表示/非表示を切り替える

数式バーの表示/非表示を切り替える

ステータスバーの表示/非表示を切り替える

ふりがなの表示/非表示を切り替える

改ページ区切り線の表示/非表示を切り替える







Part 5

操作をすると勝手にマクロが実行される

【自動化】テクニック







Part 5で身につけること

イベントプロシージャの基礎から

ブックのイベントプロシージャとシートのイベントプロシージャ



イベントプロシージャの作成方法

イベントプロシージャとは?

イベントプロシージャを作成・体験する

イベントプロシージャの仕組み



ブックのイベント

ブックのイベントの種類

新しいシートを作成したときにマクロを実行する

ブックを印刷できないようにする

ブックを閉じられないようにする



シートのイベント

シートのイベントの種類

シートをアクティブにしたときに発生するイベント

セルの値が変更されたときにマクロを自動実行する

方向キーを押しても特定のセルが選択できないようにする

セルをダブルクリックしたときにマクロを自動実行する

セルを右クリックしたときにマクロを自動実行する







Part 6

待ち時間が劇的に少なくなる

【マクロの処理高速化】テクニック







Part 6で身につけること

ワークシート関数を使うほうが簡単で、速い

2次元配列はこわくない



VBAでワークシート関数を使うテクニック

最終セルの下にSUM関数で合計値を入力する

条件に一致するセルの数値をSUMIF関数で合計する

文字列の一部が一致する個数をCOUNTIF関数で取得する



バリアント型変数に関するテクニック

2次元配列の基本的な使い方

2次元配列の要素をワークシートに展開する

セル範囲の値をバリアント型変数に代入する







Part 7

これであなたも立派な開発者

【ユーザーフォーム】テクニック







Part 7で身につけること

まず学ぶべきはユーザーフォーム

コマンドボタンとテキストボックス

選択を行うコントロール

おなじみのスクロールバーを自作する



ユーザーフォームを操作するテクニック

ユーザーフォームを追加してコントロールを配置する

ユーザーフォームを2パターンの方法で表示する

ユーザーフォームを2パターンの方法で閉じる



基本的な入力や表示を行うコントロール

コマンドボタンが押されたときに処理を行う

既定のボタンとキャンセルボタン

テキストボックスに入力できる文字数を制限する

テキストボックスの文字列を取得/設定する

テキストボックスのIMEを自動的に切り替える

テキストボックスで文字を隠してパスワードを入力する

テキストボックスで複数行の入力を可能にする

テキストボックスに入力された文字をチェックする

タブオーダーを変更する



選択を行うコントロール

チェックボックスの状態を取得する

リストボックスに表示する項目を設定する

リストボックスで選択されている項目を取得する

リストボックスで任意の行をリストの先頭に表示する

リストボックスで複数行を選択可能にする

コンボボックスの項目の追加や削除をマクロで行う



数値を扱うコントロール

スクロールバーの値の取得と設定を行う

スクロールバーの移動幅を設定する







Part 8

Excel以外のファイルを自在に操る

【外部ファイルの操作】テクニック







Part 8で身につけること

Excelブックを開いてテキストファイルを読み込む

Excelブックを開かずにテキストファイルを読み込む(書き込む)

Excelに用意されているダイアログボックスと外部ファイルの操作



フォルダーとダイアログボックスを操作するテクニック

Excelの組み込みダイアログボックスを開く

初期値を変更して[印刷]ダイアログボックスを開く

ブックを選択するダイアログボックスを開く

ブックを保存するダイアログボックスを開く

フォルダーを選択するダイアログボックスを開く



テキストファイルを操作するテクニック

テキストファイルを手動で開く

カンマ区切り(CSV形式)のテキストファイルを開く

数値データを文字列として取り込む

必要な列のデータのみを読み込む



ブックを開かずにテキストファイルの入出力を行うテクニック

CSV形式のテキストファイルを読み込む

文書形式のテキストファイルを読み込む

ワークシートの内容をCSV形式で保存する

ワークシートの内容を文書形式で保存する



ファイルを操作するステートメントと関数

フォルダー内のファイルを削除する

フォルダー内のファイルを複数検索する







Part 9

初中級者を卒業

【VBA上級】テクニック







Part 9で身につけること

サブルーチンでマクロを部品化する

サブルーチンの上級テクニックである値渡し

エラー処理



引数付きでマクロを呼び出す

引数付きサブルーチンを体験する

Callステートメントでマクロの呼び出しを明示する

ほかのモジュールにあるマクロを呼び出せなくする



参照渡しと値渡し

参照渡しで引数を渡す-ByRefキーワード-

値渡しで引数を渡す-ByValキーワード-

実引数をカッコで囲むと値渡しとなる

マクロを強制終了する



エラーを適切に処理する

「エラーのトラップ」でエラーが発生した場合に備える

エラー番号とエラー内容を調べる

エラーの種類によって処理を分岐する

著者略歴

著:大村 あつし
VBAを得意とするテクニカルライターであり、20万部のベストセラー『エブリ リトル シング』の著者でもある小説家。Excel VBAの解説書は30冊以上出版しており、その解説のわかりやすさと正確さには定評がある。過去にはAmazonのVBA部門で1~3位を独占し、同時に上位14冊中9冊を占めたこともあり、「今後、永遠に破られない記録」と称された。

1997年にその後国内最大級に成長することになるMicrosoft Officeのコミュニティサイト「moug.net」をたった一人で立ち上げた経験から、徹底的に読者目線、初心者目線で解説することを心がけている。また、VBAユーザーの地位の向上のために、2003年には新資格の「VBAエキスパート」を創設。

主な著書に『かんたんプログラミング Excel VBA』シリーズ、『Excel VBA 本格入門』『いつもの作業を自動化したい人の Excel VBA 1冊目の本』(いずれも技術評論社)、『マルチナ、永遠のAI。』(ダイヤモンド社)など多数。静岡県富士市在住。

ISBN:9784297105754
出版社:技術評論社
判型:A5
ページ数:368ページ
定価:2080円(本体)
発行年月日:2019年05月
発売日:2019年05月17日
国際分類コード【Thema(シーマ)】 1:UB