トップ > お問い合わせ・ご連絡 > Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール

Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール
知りたいがすぐわかる! やりたいがすぐできる!

本を執筆しました(Kindle版)
ユーザーフォームとコントロールをこれから学ぶ方、慣れていない方はいませんか。
ユーザーフォームを扱えると、VBAでできることが大きく広がります!
知りたいこと、やりたいことから、実践につながる具体例とポイントを紹介します。

【対象】
ExcelVBA 初学者~中級者
より深くユーザーフォーム・コントロールについて学びたい方

OS:Windows
Excel:VBAマクロを使用できるもの
※ 第1章~第5章まで公開しています 購入:amazon


著者より

ユーザーフォームを初めて表示した時、すごく感激したことを覚えています。ただフォームを表示しただけでしたが、なんだか自分のVBAのレベルが上がったように感じたものでした。 そこからフォームとコントロールを使いこなせるようになるには、少なくない時間を要することになりました。
ユーザーフォームや様々なコントロールの、プロパティ・メソッド・イベント等の知識や理解もそうですが、それらをどのように利用し、どのように連携させると良いかといった部分に時間を要しました。

その経験から、短時間でフォームやコントロールの理解を深め、よりよく活用できる方法を考え、フォームやコントロールのやりたいことから、「逆引き」で探し学べる書籍を執筆することにしました。
各項目に対応したサンプルファイルを準備しましたので、実際に動かしながらプロパティやメソッド、イベント等の理解を深め、使い方のポイントを学べるようになっています。


目次

第1章 ユーザーフォーム
 1-1 ユーザーフォームを挿入する
  ・準備
  ・フォームの挿入
 1-2 フォームを表示する
  ・標準モジュールの挿入
  ・フォーム表示のコード(標準モジュール)
  ・サンプルコード
 1-3 セルを選択できる状態で表示する
  ・モーダル(Modal)
  ・モードレス(Modeless)
  ◇モードレスの設定
  ・サンプルコード
  ・vbModalとvbModelessのマクロの挙動の違い
  【補足情報】vbModal/vbModeless
  【補足情報】組み込み定数
 1-4 フォームを複数表示する
  ・モーダル形式で複数表示
  ・モードレス形式で複数表示
  ・複数のフォームを行き来しながらの操作
  コラム① プロパティとは?
 1-5 フォームの表示位置を設定する
  ・Excelアプリケーションの左上隅に合わせてフォームを表示
  ・セル[B3]の位置に合わせてフォームを表示
  【補足情報】ポイントとピクセル
 1-6 フォームを表示せずに読み込む
 1-7 フォームを非表示にする
 1-8 フォームを破棄する
  【補足情報】図解:フォームの読み込み・表示・非表示・破棄
  コラム② 「Me」とは?
 1-9 フォームの表示・非表示を確認する
 1-10 フォームのサイズを変更する
  ・デザインモードでの設定
  ・プロパティウィンドウでの設定
  ・プログラムでの設定
 1-11 タイトルバーの文字列を変更する
 1-12 フォームの背景色を設定する
  【補足情報】16進数での色の表示
 1-13 クライアント領域に枠線を表示する
 1-14 枠線の色を変える
 1-15 フォームの背景に画像を設定する
 1-16 背景画像のサイズモードを設定する
 1-17 背景画像の位置を設定する
 1-18 背景画像を敷き詰める
 1-19 追加するコントロールのデフォルトのフォントを設定する
 1-20 クライアント領域の高さ・幅を取得する
 1-21 フォーム上でマウスポインタの形を変更する
  ・カスタムアイコン
 1-22 フォームを無効にする
 1-23 フォーム内のフォーカスを持っているコントロールを取得する
 1-24 枠のスタイルを設定する
 1-25 フォーム上のコントロールのコレクションを取得する
 1-26 フォームの表示倍率を変更する
 1-27 フォームを再描画する
 1-28 ユーザーフォームを印刷する
 1-29 フォームの移動とサイズ変更を同時にする
  コラム③ イベントとは?
 1-30 フォームの全イベントを確認する
 1-31 [×]ボタンでクローズさせない
 1-32 キーボードの特定のキーを押した時だけ処理を行う
 1-33 フォームやコントロールに初期値を設定する
 1-34 フォームがアクティブになったらExcelを非表示にする
 1-35 キーが押されている間フォームを移動する
 1-36 特定のキー操作でのみメッセージを表示する
 1-37 マウスが押された位置を表示する
 1-38 マウスポインタの位置によってフォームの色を変更する
 1-39 フォームにコントロールを追加する
  ・デフォルト以外のコントロールの追加
 1-40 複数のコントロールをまとめて操作する
  ・整列
  ・同じサイズに揃える
  ・グループ化
 1-41 オブジェクトの名前を変更する
  コラム④ イベントの順番
第2章 コントロール共通のプロパティ・メソッド・イベント
  コラム⑤ コントロールのタイプ
 2-1 基本的なコントロールに共通のプロパティを確認する
  ・コントロールの背景色を設定する
  ・ツールヒントを設定する
  ・コントロールを無効にする
  ・コントロールのサイズを変更する
  ・コントロールの位置を設定する
  【補足情報】Top/Leftプロパティの基準
  【補足情報】コンテナ
  ・異なるコントロールをグループ化する
  ・コントロールを非表示にする
 2-2 基本的なコントロールに共通のメソッドを確認する
  ・コントロールの位置とサイズを変更する Moveメソッド
  ・コントロールにフォーカスを移す SetFocusメソッド
  ・コントロールの重なりを設定する ZOrderメソッド
 2-3 タイプ別コントロールのプロパティを確認する
  ・キー操作でコントロールをクリックする
  ・コントロールの内容に応じてサイズを自動調整する
  ・コントロールの枠線を色変更し表示する
  ・コントロールの見出しを設定する
  ・コントロールのフォント・フォント色を設定する
  ・コントロール上のマウスアイコンを変更する
  ・コントロールに画像を設定する
  ・コントロールに設定した画像の位置やサイズを設定する
  ・コントロールに挿入した画像と見出しの位置を設定する
  ・コントロールの表示スタイルを変更する
  ・フォーカスが移る順番を指定する
  ・見出しやテキストの表示位置を設定する
  ・値を取得する
  ・テキストを折り返して表示する
 2-4 タイプ別コントロールの主なイベントを確認する
  ◇インプットタイプ
  ・AfterUpdateイベント
  ・BeforeUpdateイベント
  ◇フォーカスを受け取れるタイプ
  ・Enterイベント
  ・Exitイベント
  【補足情報】コントロール共通イベントの発生順番
  ◇コンテナタイプ
  ・AddControlイベント
  【補足情報】Addメソッド
  ・RemoveControlイベント
  【補足情報】Removeメソッド
  ・Layoutイベント
  ・Scrollイベント
  【補足情報】リクエストした距離と実際に移動した距離
第3章 TextBoxコントロール
 3-1 最大文字数を設定する
 3-2 最大文字数を入力したら次のコントロールに自動でフォーカスを移す
 3-3 セルとテキストボックスを紐づける
 3-4 テキストボックス内でのドラッグ&ドロップを有効にする
 3-5 テキストボックスにフォーカスが移るときに最後にアクティブだった選択を使用する
 3-6 Enterキーを押したら新しい行を作成する
 3-7 複数行にわたりテキストを入力する
 3-8 フォーカスが抜けてもテキスト選択表示状態を保つ
 3-9 半角英数←→ひらがな等IMEを自動で切り替える
 3-10 選択は可能で編集は不可能にする
 3-11 パスワードのようにテキストを「*」でマスクし隠す
 3-12 スクロールバーを表示しバー操作でテキストを確認する
 3-13 テキストボックスの左端にその行を選択できる余白を挿入する
 3-14 テキストボックスにタブ文字を挿入する
 3-15 テキストを取得・設定する
 3-16 行数を調べる
 3-17 選択しているテキストを取得・置換する
 3-18 指定の文字数テキストを選択する
第4章 ComboBoxコントロール
 4-1 リストにセル範囲を設定する
 4-2 リストに項目を追加する
 4-3 リストの項目を削除する
 4-4 リストを設定する
 4-5 ドロップダウンリストとして利用する
 4-6 選択項目を取得する・VLOOKUP関数のように使用する
 4-7 複数列を表示する
 4-8 見出しを表示する
 4-9 指定した列のテキストをテキストボックス部に表示する
 4-10 列の幅を調整する
 4-11 リストの項目を検索する
 4-12 入力できる文字列を制限する
 4-13 ドロップダウンボタンを表示しない
 4-14 選択した項目のIndex番号を取得する
 4-15 リストに表示する最大行数を設定する
 4-16 リストの項目数を取得する
第5章 ListBoxコントロール
 5-1 リストにセル範囲を設定する
 5-2 リストに項目を追加する
 5-3 リストの項目を削除する
 5-4 リストを設定する
 5-5 リストをオプションボタンスタイルで表示する
 5-6 選択項目を取得する・VLOOKUP関数のように使用する
 5-7 複数列を表示する
 5-8 見出しを表示する
 5-9 指定した列のテキストを取得する
 5-10 列の幅を調整する
 5-11 選択した項目のIndex番号を取得する
 5-12 複数選択を可能にする
 5-13 複数選択した項目を取得する
 5-14 リストの項目数を取得する
第6章 Frameコントロール
 6-1 フォーカスをフレーム内で循環する
 6-2 スクロールバーでフレーム内を広く活用する
 6-3 フレームの表示倍率を変更する
 6-4 フレームを再描画する
 6-5 フレームにコントロールを追加・削除する
第7章 MultiPageコントロール
 7-1 ページを追加・削除する
 7-2 選択ページを取得する
 7-3 任意のページを選択する
 7-4 ページの数をカウントする
 7-5 タブの高さ・幅を設定する
 7-6 タブをボタンスタイルにする
 7-7 タブの表示位置を変更する
 7-8 スクロールバーを表示して利用する
 7-9 フォーカスをページ内で循環する
 7-10 ページにコントロールを追加・削除する
第8章 TabStripコントロール
 8-1 ページ(タブ)を追加・削除する
 8-2 選択ページを取得する
 8-3 任意のページを選択する
 8-4 ページ(タブ)の数をカウントする
 8-5 タブの高さ・幅を設定する
 8-6 タブをボタンにする
 8-7 タブの表示位置を変更する
 8-8 タブを複数行で表示する
第9章 その他のコントロール
 9-1 OptionButtonコントロール
  ・複数のグループに分ける
  ・セルと紐づける
  ・値を取得する
 9-2 CheckBoxコントロール
  ・複数のグループに分ける
  ・セルと紐づける
  ・値を取得する
  ・3つの値を切り替える
 9-3 RefEditコントロール
  ・セル参照モードに切り替える
  ・セル範囲を参照する
  ・予めセル範囲を設定する
 9-4 ScrollBarコントロール
  ・最大値・最小値を設定する
  ・スクロール量を設定する
  ・縦配置・横配置を設定する
  ・ボタンを押しっぱなしにした時のイベント遅延時間を設定する
  ・スクロールボックスのサイズを固定する
 9-5 SpinButtonコントロール
  ・最大値・最小値を設定する
  ・縦配置・横配置を設定する
  ・ボタンを押しっぱなしにした時のイベント遅延時間を設定する
 9-6 ToggleButtonコントロール
  ・On/Offの状態をセルと紐づける
  ・設定できる値を3つ(True/False/Null)にする
 9-7 CommandButtonコントロール
  ・[Enter]キーに対応したボタンにする
  ・[ESC]キーに対応したボタンにする
  ・クリックでフォーカスを移さない
 9-8 Labelコントロール
 9-9 Imageコントロール
第10章 フォーム・コントロールの応用・サンプル
 10-1 クラスを紐づける
  ・クラスモジュールの追加
  ・クラスとコントロールを紐づける
  ・オリジナルのプロパティを追加する
  ・複数のコントロール共有のイベント作成
  ・クラスモジュールを更に詳しく
 10-2 フリーズするマクロを処理できるようにする
 10-3 マクロを途中で中止できるようにする
 10-4 プログレスバーを作成する
 10-5 特定のコントロールをマウスに合わせて動かす
 10-6 フォーム上でオリジナルの右クリックメニューを作成する
 10-7 セルの背景色をRGBで表示する
 10-8 イメージコントロールをドラッグ&ドロップで移動できるようにする
 10-9 イメージコントロールをアニメーションのように動かす
索引
サンプルファイル
          

ページトップへ戻る
Copyright(C) 2009- 坂江 保 All Rights Reserved.