. ExcelVBAのユーザーフォームの準備編です。 | 教えて!ExcelVBA
ExcelVBAのユーザーフォームの準備編です。 | 教えて!ExcelVBA
ExcelVBAのユーザーフォームの準備編です。 | 教えて!ExcelVBA

ユーザーフォームのプログラミング(準備編)

ちなみに、「オブジェクト」画面でユーザーフォームをダブルクリックすると「コード」画面に切り替わりますが、「Private Sub UserForm_Click()」が追加されると思います。 これは、ユーザーフォームがクリックされた時の処理を書くプロシージャが追加された事を意味します。 この方法を画面切り替えに使うべきではありません。 プロシージャ内に何も記述しなければ何も起こりませんが、不要なら「End Sub」までを削除してください。

ツールボックス

ツールボックスは、複数の部品が配置されており、これらを選択して配置する事で、好きなユーザーフォームを作っていきます。 ツールボックスを閉じてしまった場合は、メニューの「表示」>「ツールボックス」で再表示できます。(選択できない場合は、一旦VBEを閉じてから再度開くと選択できるようになるようです。)

プロパティウインドウ

プロパティインドウでは、 ユーザーフォームの部品ごとにプロパティの設定が出来るようになっています。 一番上に現在選択されているコントロール名が表示されます。 「UserForm1 UserForm」 となっていますが、「ユーザーフォーム名 ユーザーフォームの種類」という意味です。 下にある「(オブジェクト名)」の所を変更するとユーザーフォーム名が変更できます。 日本語を使う事もできます。たくさんのコントロールを使う場合は、わかりやすい名前に変えましょう。

プログラミングの大まかな流れ

プロパティ値の設定

プロパティ値の設定は、プロパティウインドウでもコードでもできます。ただし 動的に変更したいのであれば、コードで記述する必要があります 。

イベント処理 値の受け渡し

ほどんどの場合でExcelシート上で何らかの値を得たい場合などがあると思いますが、その場合はセルを指定したり、グローバル変数(どこからでもアクセスできる変数)を使って値の受け渡しをします。

雑感

ユーザーフォームを使用する場合の筆者の雑感ですが、ユーザーフォームを使う意義は、インターフェイスを提供することにより勝手な値を入力できないようにするという目的があると思います。 このような点から「他者へのプログラム」といった感じになり、特にあまり得意でないユーザーからは歓迎されます。 プログラミングは、値の管理がセルの扱いよりも大変になるという印象があります。 更に、コントロールに関してはあまり高級な事はできないと思った方が賢明でしょう。優れたコントロールもありますが、プログラミングが難しくなります。便利さとキレイさのトレードオフといったところです。

関連記事: 春の海をフォローする

関連記事

ユーザーフォームからユーザーフォームへ値を送る 1つのユーザーフォームから2つ目のユーザーフォームを開き、そこで設定した値を1つ目のユーザーフォームに送信する方法を解説します。やり方は1つではなく、いくつかあります。 ユーザーフォーム 第10回 リストボックス2 ユーザーフォーム 第7回 オプションボタン ユーザーフォーム 第5回 モーダルとモードレス ExcelVBAのユーザーフォームについてモーダルとモードレスでの表示について初心者向けに解説しています。それぞれの特徴とUnload、Hideについても解説しています。 テキストボックスに書式設定 ExcelVBAでテキストボックスに書式設定を適用するためのアイデアです。一旦セルに値を代入し、セルのText出力で書式設定を含んだ値を取得します。文字色や右寄せなどは反映しません。 ユーザーフォーム 第12回 スピンボタン

Excel VBA ユーザーフォームのスピンボタンは、UPボタンとDownボタンのイベントに処理を書いていきます。問題は表示させるテキストボックスの扱いです。文字列なのでそのままではエラーのもととなっていますので、そうならないための対処法についても見ていきます。

📎📎📎📎📎📎📎📎📎📎