書籍概要

業務改善コンサルタントが教える Excel VBA自動化のすべて
35の事例で課題解決力を身につける〜

著者
発売日
更新日

概要

本書はVBAを活用し,独力で業務効率化・業務自動化を実現できるような力を身につけることを目指します。

データの転記や集計といったある程度形式が決まった業務は,同じ手作業を繰り返すだけにもかかわらず,時間を費やし,ときにはミスを引き起こします。そのような定例の業務はどの職場にもあるはずです。

ルーティンワークを自動化し,仕事の効率化を図りましょう!

本書は,日常業務を自動化したい読者を対象に,ビジネスの現場で役立つExcel VBAの知識を解説します。

ただVBAの文法を解説するだけではありません。35の業務事例を題材に,以下のふたつを徹底的にトレーニングします。

  • 課題を解決に導く力
  • 業務で頻出するVBAの書き方

これらの力を鍛えることで,業務や職種,職場が変わっても,どこでも通用するExcel VBAのスキルを身につけることができます。

また,第1章でVBAの基本知識を紹介するので,初学者の方でも問題ありません。しっかり学習したうえで,第2章以降の業務課題に取り組むことができます。

本書の最大の特長は,業務に直結した題材です。Excel VBAの入門書の多くは,文法知識の習得が中心で,業務事例はほとんどありません。

本書は,業務改善コンサルタントである著者がこれまで携わってきた業務改善事例を解説の題材とし,その中で必要な知識や考え方を紹介していきます。

例えば,以下のような題材があります。

  • 「商品マスタにデータを登録する」
  • 「アンケートデータを整える」
  • 「契約件数と契約金額を集計する」
  • 「メールを一括作成する」

各業務課題の解説は以下のように構成しています。

  • 題材の説明
  • 知識(文法)の解説
  • コードの書き方
  • 応用例(さらに実用的にするにはコードをどう変えたらよいかなど紹介)

業務課題という切り口で解説していく本書ですが,このように必要な知識はしっかり解説していきます。基本的な解決法が見つかったら,応用例にも挑戦してみてください。

たくさんの業務課題を詰め込んだ1冊です。読者が取り組んでいる業務課題と近い事例を本書の目次から見つけることができれば,業務の自動化に一歩近づきます。

自動化によって今行っている日常業務の大半をゼロにできれば,もっと付加価値の高い業務に時間を割くことができますし,残業時間を減らすこともできま す。Excel VBAを使いこなすスキルを磨いて,どんな業務課題でも独力で解決できるようになりましょう。

こんな方におすすめ

  • Excel VBAを使って日常業務を効率化したい人(業務は経理財務・人事・経営企画・広報・営業などを想定)

サンプル

samplesamplesamplesamplesample

目次

  • はじめに
  • 本書の目的
  • 本書の対象読者
  • 本書の特長
  • サンプルファイルのダウンロード
  • 本書の使い方

Chapter 1 たったこれだけ!業務で使う基本知識

  • 1-1 仕事はコンピューターにやらせよう
  • 1-2 あっという間に終わるプログラミングの準備
    • 1-2-1 VBEを開く
    • 1-2-2 モジュールを表示する
    • 1-2-3 プロシージャを作る
    • 1-2-4 処理を書いて実行する
    • 1-2-5 コメントを書く
    • 1-2-6 ボタンを設置する
    • 1-2-7 ファイルを保存する
  • 1-3 「オブジェクト」を思い通りに操る
    • 1-3-1 オブジェクトとは
    • 1-3-2 セルを操作する
    • 1-3-3 行・列を操作する
    • 1-3-4 シートを操作する
    • 1-3-5 ブックを操作する
    • 1-3-6 省略形を使う
  • 1-4 処理速度を上げるデータの扱い方
    • 1-4-1 変数を使う
    • 1-4-2 定数を使う
    • 1-4-3 配列を扱う
    • 1-4-4 Excelのデータを配列で扱う
  • 1-5 表を選択するショートカットキーを極めよう
    • 1-5-1 表を選択する
    • 1-5-2 シート内のデータ使用領域を選択する
    • 1-5-3 最終行・最終列を取得する
    • 1-5-4 最終セルを取得する
  • 1-6 「分岐処理」はひし形のイメージで覚えよう
    • 1-6-1 分岐処理する
    • 1-6-2 条件式を使いこなす
  • 1-7 大量作業を一瞬で終わらせる「繰り返し処理」の威力
    • 1-7-1 行や列ごとに繰り返す
    • 1-7-2 セルごとに繰り返す
  • 1-8 VBAならファイルやフォルダだって簡単に操作できる
  • 1-9 関数はいざというときに重宝する
    • 1-9-1 VBA関数を使う
    • 1-9-2 Excel関数を使う
  • 1-10 エラーを恐れるな,よく出るエラーと対処法
    • 1-10-1 エラーの分類
    • 1-10-2 エラーを解決する
    • 1-10-3 エラーの原因を調べる
  • 1-11 書き方がわからないときは調べよう
    • 1-11-1 マクロ記録で調べる
    • 1-11-2 インターネットで調べる
    • 1-11-3 コードを整形する

Chapter 2 「繰り返し処理」と「分岐処理」の組み合わせに慣れよう

  • 2-1 商品マスタにデータを登録する
  • 2-2 仕入明細を仕入予定表に転記する
  • 2-3 社員の昇給一覧表を作成する
  • 2-4 会議室の予約を管理する

Chapter 3 データの不備を一瞬でチェックして修正する

  • 3-1 勤怠データの入力ミスをチェックする
  • 3-2 従業員アンケートのデータを整える
  • 3-3 注文一覧から欠損データを取り除く
  • 3-4 顧客名簿を名寄せする

Chapter 4 大量データの中から欲しいデータを一発で取り出す

  • 4-1 受注案件をカテゴリ別に分割する
  • 4-2 工事現場の人材派遣データを検索する
  • 4-3 支店ごとの体制表を作成する
  • 4-4 アパレル商品の在庫データの差分を抽出する
  • 4-5 商品マスタと販売履歴のデータを結合する

Chapter 5 データの形を瞬時に変えるデータ加工のテクニック

  • 5-1 入退室時刻から勤怠管理表を作成する
  • 5-2 社員のアサイン状況を可視化する
  • 5-3 システム開発のスケジュール表を作成する
  • 5-4 請求データのレイアウトを変換する
  • 5-5 スーパーマーケットのシフト表を作成する

Chapter 6 複雑でミスが起きやすい集計作業を楽にする

  • 6-1 契約件数と契約金額を集計する
  • 6-2 配送ルートから運送コストを計算する
  • 6-3 来店客数を時間帯・年代別に集計する
  • 6-4 製品分類ごとにピボットテーブルを作成する
  • 6-5 有給休暇の残日数を算出する

Chapter 7 ファイルにデータを書き込んで一括出力する

  • 7-1 ツアー参加者に配布する案内状を一括作成する
  • 7-2 経費明細データをCSVファイルに出力する
  • 7-3 商品の注文者に送付する納品書を一括作成する

Chapter 8 複数ファイルに分かれているデータを1つの表に集約する

  • 8-1 製品の注文個数を取引先ごとに集計する
  • 8-2 支店ごとの顧客名簿を1つにまとめる
  • 8-3 写真を取り込んで現地調査報告書を作成する
  • 8-4 会員数の推移を把握するダッシュボードを作成する
  • 8-5 CSV形式のPOSデータを一括で取り込む

Chapter 9 Outlook/Word/PowerPoint/Webを自在に操作する

  • 9-1 各支店長への依頼メールを一括作成する
  • 9-2 プレゼンテーションに書かれたテキストを抽出する
  • 9-3 行政手続書類をWord形式で一括作成する
  • 9-4 不動産の競売データをWebサイトから抽出する
  • おわりに

サポート

ダウンロード

本書のサンプルファイルをダウンロードできます。

データはzip形式の圧縮ファイルでダウンロードできます。圧縮ファイルをダウンロードしていただき,適宜解凍してご利用ください。

ファイルやフォルダ名が文字化けするなどの不備がありましたので,修正いたしました。2023年2月28日以前にダウンロードされた方は,お手数ですがダウンロードし直していただきますよう,お願いいたします。

(2023年2月28日最終更新)

ダウンロード
vba_sample_files.zip

過去の更新情報

  • 以下のサンプルに不備がありましたので,修正いたしました。(2023年2月22日)
    「04-02_工事現場の人材派遣データを検索する」

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2023年2月22日最終更新)

P.187 11行目

日付 = Format(.Range("B2").Value, "m月d日")
日付 = Format(.Range("B2").Value, "yyyy年m月d日")

P.190 2行目

日付 = Format(.Range("B2").Value, "m月d日")
日付 = Format(.Range("B2").Value, "yyyy年m月d日")

P.192 8,9行目

開始日 = Format(.Range("B2").Value, "m月d日")
終了日 = Format(.Range("C2").Value, "m月d日")
開始日 = .Range("B2").Value
終了日 = .Range("C2").Value

P.193 11,12行目

開始日 = Format(.Range("B2").Value, "m月d日")
終了日 = Format(.Range("C2").Value, "m月d日")
開始日 = .Range("B2").Value
終了日 = .Range("C2").Value

商品一覧