かんたん「通勤快読」シリーズ【組み合わせ式】Excel マクロ&ユーザーフォーム 部品集

[表紙]【組み合わせ式】Excel マクロ&ユーザーフォーム 部品集

紙版発売

四六判/336ページ

定価1,848円(本体1,680円+税10%)

ISBN 978-4-7741-3771-1

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

本書は,マクロの初級・中級レベルのユーザーがダイアログボックス(ユーザーフォーム)を自作するときに活用できるよう,ユーザーフォームのコントロールごとに定石とも言えるコードを紹介し,そのまま部品として組み合わせて利用できるようにしています。実際に本書で紹介している部品を組み合わせて作成したサンプルも紹介しているので,実用度の高い1冊です。

こんな方におすすめ

  • Excelのマクロ(VBA)でダイアログボックスを作りたい人
  • ユーザーフォームのマクロについて知りたい人
  • Excelマクロをもう少し使えるようになりたい人

目次

第1部 自動記録マクロとマクロ編集の基礎

第1章 マクロの自動作成といろいろな実行方法

  • 1-1 Excel 2007でマクロ関係のメニューを表示させる方法
  • 1-2 セキュリティ設定によるマクロ無効に対処する
  • 1-3 操作をマクロとして自動記録する
  • 1-4 記録したマクロの実行方法
  • 1-5 マクロにショートカットキーを割り当ててワンタッチ実行
  • 1-6 マクロをシート上に置いた実行ボタンに割り当てる
  • 1-7 記録したマクロを削除する
  • 1-8 記録したマクロの内容を見てみる
  • 1-9 記録したマクロの内容を少しだけ修正して使う
  • 1-10 マクロの保存方法

第2章 自分で簡単なマクロを書いてみる

  • 2-1 新規作成のためにマクロ編集画面を呼び出す
  • 2-2 短いマクロを書いて実行してみる
  • 2-3 マクロの削除方法
  • 2-4 セルを読み書きするマクロの作り方
  • 2-5 マクロからメッセージを表示する方法
  • 2-6 入力欄を表示してデータを入力させる方法
  • 2-7 マクロでいろいろな計算をする方法
  • 2-8 ワークシート関数をマクロで使う方法
  • 2-9 リストに注釈を入れてわかりやすくしておこう

第3章 「条件判断」や「繰り返し」の定型テクニックを覚えよう

  • 3-1 自動記録マクロでは使えない「条件判断」と「繰り返し」の機能
  • 3-2 条件が成立した場合だけ処理を実行させる
  • 3-3 条件の成立/不成立で2種類の処理を使い分ける
  • 3-4 指定した回数だけ処理を繰り返す
  • 3-5 選択してあるセル範囲の各セルに対して処理を繰り返す
  • 3-6 条件が成立している間だけ繰り返す
  • 3-7 無条件ループとIFによる繰り返しのテクニック

第4章 ユーザーフォームの基礎知識

  • 4-1 ユーザーフォームとは
  • 4-2 ユーザーフォームの作り方
  • 4-3 ユーザーフォームの保存方法
  • 4-4 ユーザーフォームに部品を配置して使う基礎テクニック
  • 4-5 ユーザーフォームに名前を付ける
  • 4-6 ユーザーフォームは簡単なマクロで呼び出して使う
  • 4-7 ユーザーフォームに用意された「コントロール」(部品)いろいろ
  • 4-8 使用した部品の「名称」をわかりやすく変えておこう
  • 4-9 作成時に部品の色や立体化などいろいろなプロパティを設定する方法
  • 4-10 ユーザーフォームでマクロを書く方法
  • 4-11 各部品に設定したマクロを実行させる「イベント」とは
  • 4-12 マクロからフォーム上のいろいろな部品を利用する

第2部 そのまま使えるユーザーフォーム用マクロ部品集

第1章 マクロ部品の使い方

  • 1-1 まずユーザーフォームを自作する
  • 1-2 マクロの基本部分は自分で書く
  • 1-3 定番イベントを活用しよう
  • 1-4 マクロ部品は「1行部品」と「サブプログラム」の2種類
  • 1-5 「1行部品」の使い方
  • 1-6 「サブプログラム」の使い方
  • 1-7 「サブプログラム」の基本形
  • 1-8 標準モジュールにも記述が必要な部品
  • 1-9 各コントロールの「Tag」プロパティを活用

第2章 「ラベル」のためのマクロ

  • 2-1 コントロールの概要
  • 2-2 クリックされたら実行する [イベント]
  • 2-3 ダブルクリックされたら実行する [イベント]
  • 2-4 テキストを表示する/消す [1行部品]
  • 2-5 表示されているテキストを取得する [1行部品]
  • 2-6 表示されているテキストを一時的に消す [1行部品]
  • 2-7 画像を表示する [1行部品]
  • 2-8 表示テキストをハイパーリンクとして使って別窓を開く [1行部品]
  • 2-9 テキストをハイパーリンクらしい表示にする [サブプログラム]
  • 2-10 プログレスバー(進行状況目盛)を作る [サブプログラム]

第3章 「テキストボックス」のためのマクロ

  • 3-1 コントロールの概要
  • 3-2 入力欄の内容が少しでも変化したらそのつど実行する [イベント]
  • 3-3 入力を完了して次の欄に移動するときに実行する [イベント]
  • 3-4 「この欄には必ず入力が必要」という場合のイベント活用法 [イベント]
  • 3-5 入力欄が選択されたら実行する [イベント]
  • 3-6 「貼り付け」をしたら実行する [イベント]
  • 3-7 既定値として値やテキストを表示しておく/入力欄をクリアする [1行部品]
  • 3-8 入力されている内容を取得する [1行部品]
  • 3-9 セルと連動するように設定しておく [1行部品]
  • 3-10 日本語変換の状態を設定する [1行部品]
  • 3-11 入力文字数を制限する [1行部品]
  • 3-12 入力した文字の表示を伏字(***)にする [1行部品]
  • 3-13 入力データに応じて入力欄の長さが伸びるようにする [1行部品]
  • 3-14 長い入力を入力欄内で折りたたんで表示させる [1行部品]
  • 3-15 スクロールバーを表示させる [1行部品]
  • 3-16 入力されている文字を半角/全角/ひらがな/カタカナなど統一する [1行部品]
  • 3-17 テキストボックス内の文字列を検索する [1行部品]
  • 3-18 テキストボックス内の文字列の一部を選択状態にする [サブプログラム]
  • 3-19 入力されている漢字のふりがなを取得する [サブプログラム]

第4章 「コンボボックス」のためのマクロ

  • 4-1 コントロールの概要
  • 4-2 入力欄の内容が少しでも変化したらそのつど実行する [イベント]
  • 4-3 入力を完了して次の欄に移動するときに実行する [イベント]
  • 4-4 「この欄には必ず入力が必要」という場合のイベント活用法 [イベント]
  • 4-5 入力欄が選択されたら実行する [イベント]
  • 4-6 ●●ボタンをクリックして選択リストを出すと実行する [イベント]
  • 4-7 「貼り付け」をしたら実行する [イベント]
  • 4-8 縦1列のセル範囲を選択リストとして設定する [1行部品]
  • 4-9 選択リストに項目を追加する [1行部品]
  • 4-10 選択リストの中のひとつを既定値として選択しておく [1行部品]
  • 4-11 リストにないデータを既定値として表示しておく/入力欄をクリアする [1行部品]
  • 4-12 入力(選択)されている内容を取得する [1行部品]
  • 4-13 複数列の選択リストから選択されている内容を取得する [1行部品]
  • 4-14 選択リストの項目数を調べる [1行部品]
  • 4-15 一度に表示する選択リストの行数を設定する [1行部品]
  • 4-16 途中まで入力すれば選択リストから候補を表示するようにする [1行部品]
  • 4-17 日本語変換の状態を設定する [1行部品]
  • 4-18 入力データに応じて入力欄の長さが伸びるようにする [1行部品]
  • 4-19 指定したセル範囲を選択リストとして設定する(複数列対応) [サブプログラム]
  • 4-20 配列のデータを選択リストとして設定する(複数列対応) [サブプログラム]

第5章 「リストボックス」のためのマクロ

  • 5-1 コントロールの概要
  • 5-2 リストから選択したら実行する [イベント]
  • 5-3 ほかの欄に移動するときに実行する [イベント]
  • 5-4 リストボックスが選択されたら実行する [イベント]
  • 5-5 縦1列のセル範囲を選択リストとして設定する [1行部品]
  • 5-6 選択リストに項目を追加する [1行部品]
  • 5-7 選択リストの中のひとつを既定値として選択しておく [1行部品]
  • 5-8 選択されている内容を取得する [1行部品]
  • 5-9 複数列の選択リストから選択されている内容を取得する [1行部品]
  • 5-10 選択リストの項目数を調べる [1行部品]
  • 5-11 指定したセル範囲を選択リストとして設定する(複数列対応) [サブプログラム]
  • 5-12 配列のデータを選択リストとして設定する(複数列対応) [サブプログラム]

第6章 「チェックボックス」のためのマクロ

  • 6-1 コントロールの概要
  • 6-2 チェックの有無が変化したら実行する [イベント]
  • 6-3 ほかの欄に移動するときに実行する [イベント]
  • 6-4 チェック欄が選択されたら実行する [イベント]
  • 6-5 チェックの有無を変数などに取得する [1行部品]
  • 6-6 チェックの有無をIF文で判定する [1行部品]
  • 6-7 既定値としてチェックの有無を設定する [1行部品]
  • 6-8 「灰色チェック」(TripleState)機能の有効/無効を設定する [1行部品]
  • 6-9 複数のチェック欄の状態を一括してセル範囲に転記する [サブプログラム]

第7章 「オプションボタン」のためのマクロ

  • 7-1 コントロールの概要とフレームとの関係
  • 7-2 ●印の有無が変化したら実行する [イベント]
  • 7-3 ほかの欄に移動するときに実行する [イベント]
  • 7-4 選択/非選択の状態を変数などに取得する [1行部品]
  • 7-5 選択/非選択の状態をIf文で判定する [1行部品]
  • 7-6 グループ内の特定のオプションボタンを既定値として選択しておく [1行部品]
  • 7-7 フレーム内のどのボタンが選択されているか調べる [サブプログラム]

第8章 「コマンドボタン」のためのマクロ

  • 8-1 コントロールの概要
  • 8-2 クリックされたら実行する [イベント]
  • 8-3 ダブルクリックされたら実行する [イベント]
  • 8-4 コマンドボタンが選択されたら実行する [イベント]
  • 8-5 ボタン表面にテキストを表示する/消す [1行部品]
  • 8-6 ボタン表面に画像を表示する [1行部品]
  • 8-7 自動記録マクロなどのワークシート用マクロを実行する [1行]
  • 8-8 [終了]ボタンの作り方 [1行部品]

第9章 「トグルボタン」のためのマクロ

  • 9-1 コントロールの概要
  • 9-2 クリックされたら(凹凸の状態が変化したら)実行する [イベント]
  • 9-3 ダブルクリックされたら実行する [イベント]
  • 9-4 ほかの欄に移動するときに実行する [イベント]
  • 9-5 トグルボタンが選択されたら実行する [イベント]
  • 9-6 ボタンが押されているかどうか(凹凸の状態)を変数などに取得する [1行部品]
  • 9-7 「ボタンが押された」という判定をする方法 [1行部品]
  • 9-8 ボタンの凹凸の状態を設定する [1行部品]
  • 9-9 ボタン表面にテキストを表示する/消す [1行部品]
  • 9-10 ボタン表面に画像を表示する [1行部品]
  • 9-11 複数のトグルボタンの状態を一括してセル範囲に転記する [サブプログラム]

第10章 「タブストリップ」のためのマクロ

  • 10-1 コントロールの概要
  • 10-2 タブが切り替わったら実行する [イベント]
  • 10-3 タブがクリックされたら実行する [イベント]
  • 10-4 タブストリップが操作対象として選択されたら実行する [イベント]
  • 10-5 ほかの欄に移動するときに実行する [イベント]
  • 10-6 選択されているタブの番号を取得する [1行部品]
  • 10-7 指定したタブを選択状態にする [1行部品]
  • 10-8 タブの総数を取得する [1行部品]
  • 10-9 タブの見出し文字を取得する [1行部品]
  • 10-10 タブの見出し文字を設定する [1行部品]
  • 10-11 新しいタブを追加する [1行部品]
  • 10-12 指定位置のタブを削除する [1行部品]
  • 10-13 指定したタブだけを一時的に非表示にする [1行部品]
  • 10-14 タブに応じてセル範囲の×番目のデータを取得する [1行部品]
  • 10-15 選択されたタブに応じて処理を切り替えて実行させる基本形
  • 10-16 タブに応じたセル範囲をリストボックスなどに設定する [サブプログラム]

第11章 「マルチページ」のためのマクロ

  • 11-1 コントロールの概要
  • 11-2 タブが切り替わったら実行する [イベント]
  • 11-3 タブがクリックされたら実行する [イベント]
  • 11-4 マルチページの部分が操作対象として選択されたら実行する [イベント]
  • 11-5 マルチページ部分からほかの欄に移動するときに実行する [イベント]
  • 11-6 選択(表示)されているページの番号を取得する [1行部品]
  • 11-7 指定したページを表示する [1行部品]
  • 11-8 ページの総数を取得する [1行部品]
  • 11-9 タブに書かれている見出し文字を取得する [1行部品]
  • 11-10 タブに見出し文字を設定する [1行部品]
  • 11-11 指定したページだけを一時的に非表示にする [1行部品]
  • 11-12 マルチページ内のすべてのタブに処理を繰り返す基本形

第12章 「スクロールバー」のためのマクロ

  • 12-1 コントロールの概要
  • 12-2 スクロールしたら実行する [イベント]
  • 12-3 スクロールボックスをドラッグした場合だけ実行する [イベント]
  • 12-4 スクロールバーが操作対象として選択されたら実行する [イベント]
  • 12-5 ほかの欄に移動するときに実行する [イベント]
  • 12-6 両端の値(Max/Min)を設定する [1行部品]
  • 12-7 スクロールボックスの現在位置を取得する [1行部品]
  • 12-8 スクロールボックスを指定した位置に移動させる [1行部品]
  • 12-9 両端の●● ●●(●● ●●)をクリックしたときの移動量を設定する [1行部品]
  • 12-10 スクロールボックス以外の部分をクリックしたときの移動量を設定する [1行部品]
  • 12-11 マウスのボタンを押し続けて自動スクロールさせる場合の速度を設定する [1行部品]
  • 12-12 現在位置を%で取得する [サブプログラム]
  • 12-13 %で指定した位置に移動させる [サブプログラム]

第13章 「スピンボタン」のためのマクロ

  • 13-1 コントロールの概要
  • 13-2 ●●や●●などいずれかがクリックされたら実行する [イベント]
  • 13-3 ●●または●●がクリックされたら実行する [イベント]
  • 13-4 ●●または●●がクリックされたら実行する [イベント]
  • 13-5 ほかの欄に移動する直前に実行する [イベント]
  • 13-6 スピンボタンの最大値と最小値を設定する [1行部品]
  • 13-7 スピンボタンの値を取得する [1行部品]
  • 13-8 スピンボタンの初期値を設定する [1行部品]
  • 13-9 1クリックの増減量を設定する [1行部品]
  • 13-10 マウスのボタンを押し続けた場合の自動増減の速度を設定する [1行部品]

第14章 「イメージ」のためのマクロ

  • 14-1 コントロールの概要
  • 14-2 クリックされたら実行する [イベント]
  • 14-3 ダブルクリックされたら実行する [イベント]
  • 14-4 指定した画像ファイルを表示する [1行部品]
  • 14-5 イメージコントロールのサイズを画像サイズに自動的に合わせる [1行部品]
  • 14-6 画像をイメージコントロールに合ったサイズにして表示する [1行部品]
  • 14-7 ワークシートにあるグラフを表示する [サブプログラム]
  • 14-8 セル範囲に入力しておいたファイル名で画像を順次表示する [サブプログラム]

第15章 「RefEdit」のためのマクロ

  • 15-1 コントロールの概要
  • 15-2 入力欄の内容が変化したら実行する [イベント]
  • 15-3 入力を完了してほかの欄に移動するときに実行する [イベント]
  • 15-4 「この欄には必ず入力が必要」という場合のイベント活用法 [イベント]
  • 15-5 入力欄が選択されたら実行する [イベント]
  • 15-6 選択されたセル範囲を取得する [1行部品]
  • 15-7 既定値として選択しておく範囲を指定する/入力欄をクリアする [1行部品]

第16章 ユーザーフォームの「台紙」部分に設定するマクロ

  • 16-1 「台紙」がユーザーフォームそのもの
  • 16-2 フォームが呼び出された直後に自動的に実行する [イベント]
  • 16-3 フォームを閉じるときに実行する [イベント]
  • 16-4 フォームがクリックされたら実行する [イベント]
  • 16-5 フォームがダブルクリックされたら実行する [イベント]
  • 16-6 フォームが選択状態になったら実行する [イベント]
  • 16-7 フォームが選択状態でなくなる直前に実行する [イベント]
  • 16-8 「ユーザーフォーム名」の指定を省略するテクニック
  • 16-9 フォームの上側に表示するタイトルを設定する [1行部品]
  • 16-10 背景に画像を表示する [1行部品]
  • 16-11 画面内でフォームを表示する位置を指定する [1行部品]
  • 16-12 フォーム右上の●●ボタンを無効にするテクニック [1行部品]
  • 16-13 ユーザーフォームを指定したユーザーフォームの隣に表示する [サブプログラム]
  • 16-14 ユーザーフォームを指定したセルの隣に表示する [サブプログラム]

第17章 いろいろなコントロールに共通して使えるマクロ部品

  • 17-1 マウスポインタが部品の上に載ったら××する [イベント]
  • 17-2 マウスで指したときに表示するTipsの文章を設定する [1行部品]
  • 17-3 指定したコントロールを選択状態にする [1行部品]
  • 17-4 文字色を設定する [1行部品]
  • 17-5 部品や台紙の色(背景色)を設定する [1行部品]
  • 17-6 一時的にその部品をユーザーが操作できない状態にする [1行部品]
  • 17-7 一時的にその部品をまるごと非表示にする [1行部品]
  • 17-8 マウスで指したときに表示するマウスポインタの種類を指定する [1行部品]
  • 17-9 マウスで指したときに表示するマウスポインタの形を自由に変える [1行部品]
  • 17-10 Tagプロパティをほかの部品やイベントから共通に使える変数として使う [1行部品]

第18章 コントロールと関係なくいろいろな場面で使えるマクロ部品

  • 18-1 セルのデータを読み書きする [1行部品]
  • 18-2 セルに色を設定する [1行部品]
  • 18-3 ダイアログボックスでメッセージを表示する [1行部品]
  • 18-4 マクロの実行を強制終了させる [1行部品]
  • 18-5 指定した秒数だけ処理を一時停止する [1行部品]
  • 18-6 ビープ音を鳴らす [1行部品]
  • 18-7 テキストを指定して読み上げさせる [1行部品]
  • 18-8 音楽ファイルを指定して再生する [1行部品]
  • 18-9 ブックを上書き保存する [1行部品]
  • 18-10 指定したフォルダにあるファイル名を読み取る [1行部品]
  • 18-11 1/1000秒単位の指定で一時停止する [サブプログラム]

第19章 起動/終了/表示の定番テクニック

  • 19-1 表示位置を指定してユーザーフォームを呼び出す
  • 19-2 ワークシートも操作できる状態でユーザーフォームを呼び出す
  • 19-3 ブックを開くと同時にシートを隠してフォームだけ表示する
  • 19-4 フォームからほかのフォームを開く
  • 19-5 フォームを一時的に非表示にする/表示する
  • 19-6 フォームを閉じて終わらせる
  • 19-7 ブックを開いたときに指定しておいたユーザーフォームを自動表示する
  • 19-8 フォームを閉じると自動的にExcelを終了する
  • 19-9 特定のセルが選択されたらフォームを開く

第3部 マクロ部品で作る実用フォーム例

  • FORM 01 自動記録マクロの実行ボタンを並べたフォーム
  • FORM 02 特定の列にくると自動表示されるリスト選択入力フォーム
  • FORM 03 リスト範囲を自由に変更できる汎用のリスト選択入力フォーム
  • FORM 04 常時出しておける検索フォーム
  • FORM 05 色見本を見ながら3原色を混合して色を作るフォーム
  • FORM 06 身長や体重を入力して健康体重や肥満度を計算するフォーム

著者プロフィール

飯島弘文(いいじまひろふみ)

1956年山梨県生まれ。現在,パソコン関係のコンサルティングおよび教育を主業務とする株式会社オーアンドケイにおいて,代表取締役社長を務める。

日本で初めて表計算ソフトの活用法を紹介した『ビジカルク活用法』をはじめ,『Lotus 1-2-3 実践テクニック入門』『かんたん図解NEO Word+Excel 基本操作』『かんたん「通勤快読」【組み合わせ式】Excel マクロ&ユーザーフォーム 部品集』など,160冊を越える共著書がある。