書籍概要

仕事の現場で即使える

Excel VBA ユーザーフォーム&コントロール 実践アプリ作成ガイド

著者
発売日
更新日

概要

VBAを使えば,Excelと言えども,業務用のアプリとそん色がないオリジナルのアプリケーションを作成することができます。オリジナルのアプリケーションを作成するためには,VBAの文法以外に必ずマスターしないといけない機能,ユーザーフォームがあります。本書はユーザーフォームとユーザーフォーム上で利用するコントロールの使い方を詳細に説明し,その上で,高機能のアプリケーションを作成する方法を解説します。
本書で作成するアプリケーションは,

  • 「商品」「顧客」「社員」の各マスターの登録・編集機能
  • 「見積データ作成」「見積書発行」「受注」を管理する販売処理機能
  • 「売上伝票」「納品書」「請求書」のPDFファイルを作成する伝票作成機能

を併せ持ちます。
付属のCD-ROMに各章の解説前・解説後のサンプルファイルを収録しているので,本書を読み進めながら,自分のPCでも同じファイルを操作できます。もちろん,最終の完成ファイルも収録されてあります。
その上で,完成アプリケーションにより高度な機能を持たせるテクニックも解説しています。

こんな方におすすめ

  • Excel VBAを使って本格的なアプリを作成したい人

著者から一言

Excelの「ユーザーフォーム」は,ワークシートとはまったく別の「入出力画面」を自由に作成することができるため,Excelでありながら「独自アプリケーション」のように見せることができ,利便性向上にもつながります。
ワークシートの処理に加えて,ユーザーフォームの知識があれば,提案できる選択肢が広がり,より実務に活かせるスキルとなることと思います。本書がVBA活用のステップアップへのお役に立てたら光栄です。

サンプル

目次

CHAPTER 1 アプリケーションの解説

  • 1-1 アプリケーション機能の概要
  • 1-2 マスター編集機能
  • 1-3 販売処理機能
  • 1-4 伝票作成機能

CHAPTER 2 フォームの作成

  • 2-1 土台の作成~ユーザーフォーム
  • 2-2 部品の配置~コントロール
  • 2-3 「名付け」のルール~命名規則
  • 2-4 VBAの書き方~モジュールとプロシージャ

CHAPTER 3 フォームの操作

  • 3-1 フォームの表示~メソッド
  • 3-2 フォームからフォームを表示する~Clickイベント
  • 3-3 フォームを閉じる~HideとUnload

CHAPTER 4 シートからフォームへ

  • 4-1 編集フォームの作成~TextBoxとLabel
  • 4-2 フォームへのデータの読み込み~プロパティ
  • 4-3 「変化するモノ」を扱う~変数と型

CHAPTER 5 フォームからシートへ

  • 5-1 シートへのデータの書き込み~型変換関数
  • 5-2 ユーザーに選択肢を提示する~Ifステートメント
  • 5-3 値をチェックする機能の作成~Fuctionプロシージャ
  • 5-4 データの削除~Deleteメソッド

CHAPTER 6 フォーム間連携

  • 6-1 連携フォームの作成~For Each-Nextステートメント
  • 6-2 一覧の読み込み~配列
  • 6-3 編集フォームの連携~Selectステートメント
  • 6-4 新規作成ボタンの実装~Callステートメント
  • 6-5 検索機能~省略可能な引数

CHAPTER 7 見積一覧フォーム

  • 7-1 フォームの作成~ComboBox
  • 7-2 一覧の読み込み~On Errorステートメント
  • 7-3 各機能ボタンの実装~グローバル変数

CHAPTER 8 見積情報編集フォーム

  • 8-1 フォームの作成~1 対多のデータ
  • 8-2 フォームへの親子データの読み込み~2シートから1フォームへ
  • 8-3 自動計算機能~Changeイベントの活用
  • 8-4 フォームから親子データへの書き込み~1フォームから2シートへ

CHAPTER 9 プレビューフォームと受注フォーム

  • 9-1 関連データへの連携~変更の有無をチェックする
  • 9-2 伝票プレビューフォーム~スクロールバーのあるフォーム
  • 9-3 プレビューと出力~シートから別形式へ
  • 9-4 受注フォーム~複数シート・フォーム連携

CHAPTER 10 伝票出力

  • 10-1 伝票未発行一覧フォーム~未完了のみ表示
  • 10-2 伝票発行フォーム~InitializeとActivate
  • 10-3 伝票プレビューフォームとの連携~複数伝票への対応

CHAPTER 11 アプリケーションの品質向上

  • 11-1 シートを「メニュー」として使う~作業シートの非表示
  • 11-2 Excel画面の非表示~より「アプリケーション」らしく

APPENDIX さらに完成度を高めるテクニック

  • A-1 フォームに背景画像を設定する
  • A-2 コマンドボタンにアイコンを表示させる
  • A-3 フォームの印象を変える
  • A-4 既存データを利用して新規データを登録する
  • A-5 クラスモジュールでイベント処理を省コード化
  • A-6 SQLを使ってデータを取得する
  • A-7 既存データを利用して新規データを登録する

サポート

ダウンロード

電子版用ダウンロード

電子版用に,付録CD-ROM収録コンテンツを以下から入手できます。ダウンロードには電子版本紙に掲載されているIDとパスワードが必要です。

正誤表

書籍の内容に誤りのあったことを,本書をお買いあげいただいた読者の皆様および関係者の方々にお詫びいたします。以下に正誤表を掲載いたします。

(2024年7月23日最終更新)

P.185 コード15の17行目

For i = 1 To max '要素の数繰り返す
For i = 1 To maxRow '要素の数繰り返す

(以下2021年8月17日更新)

第1刷→第2刷での修正

P.109 下から9行目

数値型
整数

P.109 下から2行目

数値型
整数

P.130 1行目

数値型
整数

P.152 1~2行目

対象のテキストボックス(txb_stfJoinday)には
対象のテキストボックス(txb_stfJoindayなど)には

P.366 図3の中の囲み位置

誤

正

(以下2021年3月3日更新)

P.123 表1内の5行目

CInt 文字列型へ変換
CStr 文字列型へ変換

(以下2020年11月11日更新)

P.133コード12 の8行目


rtn = MsgBox(msgText, vbOKCancel + vbQuestion, "確認") = vbCancel '結果を取得

rtn = MsgBox(msgText, vbOKCancel + vbQuestion, "確認") '結果を取得

P.135コード13 の8行目


rtn = MsgBox(msgText, vbOKCancel + vbQuestion, "確認") = vbCancel '結果を取得

rtn = MsgBox(msgText, vbOKCancel + vbQuestion, "確認") '結果を取得

なお,P.133コード12とP.135コード13の修正において,付属CD-ROMの内容へは影響ありません。

商品一覧