第124回.WorkbookのイベントプロシージャーWorkbookのイベントプロシージャーは、ブックに対し特定の操作(これがイベント)が行われた時に実行されます。イベントは、手動でもVBAでも、どちらで操作が行われても発生します。Workbookのイベントは多数用意されています。
第125回.WorksheetのイベントプロシージャーWorksheetのイベントプロシージャーは、ワークシートまたはそのセルに対し特定の操作(これがイベント)が行われた時に実行されます。イベントは、手動でもVBAでも、どちらで操作が行われても発生します。Worksheetのイベントプロシージャーの一覧紹介と主要なイベントについて解説します。
第1回.ユーザーフォームを挿入ユーザーフォーム入門として基礎から解説します。まずは、ユーザーフォームの挿入です。ユーザーフォームの挿入手順 メニユーの「挿入」→「ユーザーフォーム」または、左ウインドウのプロジェクト内を右クリックし、「挿入」→「ユーザーフォーム」「UserForm1」が挿入されます。
第2回.フォームのプロパティユーザーフォーム入門として基礎から解説します。フォームのプロパティの主要なものについて説明します。フュームの全プロパティ プロパティはたくさんありますね。これ全部理解するのは大変です。いずれは、全て理解するに越したことはないですが、とりあえず、以下に掲載している必要最低限のプロパティだけは把握しておきましょう。
第3回.コントロールの追加(コマンドボタン)ユーザーフォーム入門として基礎から解説します。何もないフォームでは何もできませんので、とりあえず部品を配置しましょう。この部品をコントロールと呼びます。ツールボックス ツールボックスには、使えるコントロールが並んでいます。
第4回.コントロールの位置・サイズ調整ユーザーフォーム入門として基礎から解説します。閉じるボタンだけでは何もできないので、もう少し追加します。複数のボタンを配置したら、位置やサイズを統一したいですね。OKボタンの追加と移動 とりあえず、OKボタンを追加しましょう。
第5回.ラベルの追加ユーザーフォーム入門として基礎から解説します。フュームが表示されたとき、ユーザーが何をしたらよいか分からないと困ります。それには、日本語で分かりやすく表示しておく必要があります。自由に固定の文字を表示するにはラベルを使います。
第6回.テキストボックスの追加ユーザーフォーム入門として基礎から解説します。フュームにユーザーが自由に入力できるテキストボックスを配置します。テキストボックスの追加 前回は、ラベルだけ追加しました。今回は、ラベルに対応するテキストボックスを追加しましょう。
第7回.テキストボックスの値をセルへユーザーフォーム入門として基礎から解説します。ユーザーフュームのテキストボックスに入力した値を、ワークシートのセルに出力します。前回までに作成したユーザーフォーム 前回作成したユーザーフォームです。「OK」ボタンを押下すると、このテキストボックスに入力した値をワークシートのセルに値を設定するようにします。
第8回.セルの値をテキストボックスへユーザーフォーム入門として基礎から解説します。フュームのテキストボックスにワークシートのセル値を表示します。シートの実行ボタンを押下したら、アクティブセルの行の値をフォームに表示してみましょう。Initializeイベントプロシージャーの追加 フォームのコードを表示しましょう。
第9回.標準モジュールとフォーム間のデータ受け渡しⅠユーザーフォーム入門として基礎から解説します。フォームが起動された時、起動したシートのアクティブセルの行数を知る方法について解説します。前回までに作成したVBA 標準モジュール フォームモジュール PrivateSubUserForm_Initialize() DimiAsLong WithWorksheets("顧客マスタ") i=…
第10回.標準モジュールとフォーム間のデータ受け渡しⅡユーザーフォーム入門として基礎から解説します。1.シートのセルを使う 2.標準モジュールのグローバル変数を使う 3.標準モジュールからフォームのコントロールを操作する 4.Subプロシージャーの引数を使う 5.Functionプロシージャーの戻り値を使う。
第11回.コンボボックス(ComboBox)の追加ユーザーフォーム入門として基礎から解説します。ユーザーフォームで良く使われるコントロールは、ラベル、テキストボックス これは当然ですが、その次に良く使われるものは、コンボボックス、リストボックス、チェックボックス、オプションボタンになるでしょう。
第12回.リストボックス(ListBox)の追加ユーザーフォーム入門として基礎から解説します。リストボックスについて解説します。リストボックスとコンボボックスの使い方はほぼ同様になります。前回コンボボックスで単一列(1列)の場合を説明しましたので、今回は特に複数列について詳しく説明します。
第13回.チェックボックス(CheckBox)の追加ユーザーフォーム入門として基礎から解説します。チェックボックスは、ONかOFFかの2択の場合に使われます。チェックボックスの追加 今回は、顧客の休止状態のチェックボックスを追加してみましょう。オブジェクト名:chk休止 とすることにします。
第14回.オプションボタン(OptionButton)の追加ユーザーフォーム入門として基礎から解説します。オプションボタンは、複数の項目からの単一選択になります。ラジオボタン、トグルボタンなどとも呼ばれるものです。前回のチェックボックスと混同されがちですが、チェックボクスはON/OFF、オプションボタンは複数からの選択になります。
第15回.ここまでの整理と完成VBAユーザーフォーム入門として基礎から解説します。一旦、ここまでの復習を兼ねて全VBAの整理をします。ついでに、シートの当該行のダブルクリックでフォームが開くようにします。ワークシート Worksheets("顧客マスタ") シートモジュール ダブルクリック時のイベントプロシージャーを追加しました。
第16回.アクティブコントロールに色を付けるユーザーフォーム入門として基礎から解説します。フォーム内のどこにカーソルがあるか分かりづらい場合があります。そこで、アクティブなコントロールのバックカラーを変えたり、対応するラベルのフォントを変更したりして、アクティブなコントロールを解り易くします。
第17回.Enterキーで次のコントロールに移動するユーザーフォーム入門として基礎から解説します。Enterキーの押下で、(タブ順が)次のコントロールに順々に移動してほしいものです。ユーザーフォームでのEnterキー動作について テキストボックスは、Enterキー押下で次のコントロールに進みます。
第18回.2段階のコンボボックスユーザーフォーム入門として基礎から解説します。2段階コンボボックスを作成します。1つのコンボボックスの選択内容により、次のコンボボックスのリストを変更します。ワークシートのセルの入力規則で実施する場合は、入力規則のリストを、2段階の絞り込みで作成1 入力規則のリストを、2段階の絞り込みで作成2一覧リストを使用して、
第19回.数値専用のテキストボックスユーザーフォーム入門として基礎から解説します。数値専用のテキストボックスの作成です。数字以外は入力出来ないテキストボックスを作成します。数値専用のテキストボックスの追加 以下のように金額のテキストボックスを追加します。
第20回.テキストボックスの各種イベントユーザーフォーム入門として基礎から解説します。ユーザーフォームで最も良く使われる、テキストボックスのイベントの一覧と、キー入力と、コントロール間の移動時のイベント発生順について記載します。ユーザーの操作に応じて自動処理するためには、その操作により発生するイベントと、その発生順序を理解しておくことが必要です。
第21回.ユーザーフォームの各種イベントユーザーフォーム入門として基礎から解説します。ユーザーフォームに対する操作(アクション)で発生するイベントの一覧です、ユーザーフォームそのものの制御をする場合は、このイベントを利用します。ユーザーフォームのイベント一覧 太字のイベントが良く使われるイベントになります。
第22回.コントロールの動的作成ユーザーフォームは、事前に画面デザインを考えて、それにそって部品コントロールを配置するものです。しかし、ユーザーの操作に応じて、動的に部品コントロールを変更したい場合があります。このような場合の対処方法としては、大きく以下の2通りの方法があります。
第23回.イベントプロシージャーの共通化ユーザーフォームに部品コントロールを配置していくとき、同種のコントロールを繰り返し何個も配置することは良くあります。コピペしながらようやく配置し終わったと思ったら、今度はVBAで同じイベントプロシージャーを何個も作成しなければならなくなります。
第24回.イベントプロシージャーの共通化(Enter,Exit)ユーザーフォームのVBAでは、同じイベントプロシージャーを何個も作成することが多々あります。テキストボックスを複数個配置して同じイベント処理を実装する時、全く同じイベントプロシージャーをコピペで何個も作るといったことが必要になります。その解決方法として前回、第23回.イベントプロシージャーの共通化 WithEventを使った方法を紹介しましたが、
第25回.簡易音楽プレーヤーの作成VBAにも音楽を!ということでVBAで音楽再生するVBAクラスを作成しました。VBAで音楽再生するクラスを作成 そこで、このクラスを使い簡易的な音楽プレーヤーを作ってみました。あまり本格的なものは作れませんし、良いソフトが沢山ありますので自作しても仕方ありません。
第26回.プログレスバーを自作するVBAで時間のかかる処理の場合、ユーザーはいつ終わるか分からずただひたすら待っているしかありません。そのような場合はVBAの進捗を画面に表示して、今なにをしているか、後どれくらいで終わるかを知らせることで、ユーザーのイライラはかなり解消されます。
第27回.インクリメンタルサーチの実装VBAのユーザーフォームで大量のリストから選択する場合、リストが大量にあると単なるコンボボックスやリストでは探すのが大変になってしまいます。そこで、インクリメンタルサーチを実装してみます。インクリメンタルサーチとは、検索したい単語をすべて入力してから検索するのではなく、文字を入力するたびに即座に候補を表示させる機能です。
他のカテゴリーでユーザーフォームを使っている記事
VBAでWindowsMediaPlayerを使い動画再生するVBAで動画を再生する方法を何通りか試してみます。VBAで直接動画を再生できるわけではないので、コントロールのWindowsMediaPlayerを使って再生します。動画を再生するだけなら簡単そうなのですが、実際にはいろいろと問題がありました。
VBAでWEBカメラ操作するVBAでWEBカメラを操作してみます。WEBカメラの映像を映し出し、任意の時点でスナップショットをとるようにしています。私自身にとってはエクセルでやる実用的な意味はほとんどありませんが、技術的な興味でやってみた自身の覚え書きになります。
Excel将棋:マクロVBAの学習用Excelで将棋を作ってみましょう。今やコンピューター将棋はプロをしのぐ強さです。しかし、Excelでそのようなソフトを作ろうと言うのではありません。と言いますか、残念ながら私には作れません、、、ExcelマクロVBAの学習素材として将棋を作ってみましょう。