Excel-macros-userforms

提供:Dev Guides
移動先:案内検索

Excelマクロ-ユーザーフォーム

時には、他の人から繰り返し情報を収集する必要があるかもしれません。 Excel VBAは、このタスク- UserForm を処理する簡単な方法を提供します。 記入する他のフォームと同様に、UserFormを使用すると、提供する情報を簡単に理解できます。 UserFormは、提供されるコントロールがわかりやすく、必要に応じて追加の指示が表示されるという点で、ユーザーフレンドリーです。

UserFormの主な利点は、情報の入力方法と入力方法に費やす時間を節約できることです。

ユーザーフォームの作成

ユーザーフォームを作成するには、次のように進みます-

  • リボンの[開発者]タブをクリックします。
  • Visual Basicをクリックします。 ブックのVisual Basicウィンドウが開きます。
  • [挿入]をクリックし、
  • ドロップダウンリストからUserFormを選択します。

ユーザーフォームの作成

ウィンドウの右側にユーザ​​ーフォームが表示されます。

ユーザーフォームが表示されます

ユーザーフォームを理解する

UserForm.xlsx – UserForm1ウィンドウを最大化します。

これで、設計モードになりました。 ユーザーフォームにコントロールを挿入し、それぞれのアクションのコードを記述できます。 コントロールはツールボックスで使用できます。 UserFormのプロパティは[プロパティ]ウィンドウにあります。 UserForm1(UserFormのキャプション)は、Projects ExplorerのFormsの下に表示されます。

ユーザーフォームの理解

  • プロパティウィンドウで、ユーザーフォームのキャプションをプロジェクトレポート-毎日に変更します。
  • UserFormの名前をProjectReportに変更します。

ProjectReport

変更は、ユーザーフォーム、プロパティ、およびプロジェクトエクスプローラーに反映されます。

ツールボックスのコントロール

ユーザーフォームにはさまざまなコンポーネントがあります。 コンポーネントのいずれかをクリックすると、情報の提供方法と提供方法に関する指示が表示されるか、選択するオプション(選択肢)が表示されます。 これらはすべて、ユーザーフォームのツールボックス内のActiveXコントロールによって提供されます。

Excelには、フォームコントロールとActiveXコントロールの2種類のコントロールがあります。 これら2つのタイプのコントロールの違いを理解する必要があります。

フォームコントロール

フォームコントロールは、Excelバージョン5.0以降の以前のバージョンのExcelと互換性のあるExcelオリジナルコントロールです。 フォームコントロールは、XLMマクロシートで使用するためにも設計されています。

フォームコントロールを使用してマクロを実行できます。 既存のマクロをコントロールに割り当てるか、新しいマクロを作成または記録できます。 コントロールをクリックすると、マクロ。 ワークシートのフォームコントロールからコマンドボタンを挿入してマクロを実行する方法を既に学習しました。 ただし、これらのコントロールをユーザーフォームに追加することはできません。

ActiveXコントロール

ActiveXコントロールは、VBAユーザーフォームで使用できます。 ActiveXコントロールには、外観、動作、フォント、およびその他の特性をカスタマイズするために使用できる広範なプロパティがあります。

UserForm ToolBoxに次のActiveXコントロールがあります-

  • ポインタ
  • ラベル
  • テキストボックス
  • コンボボックス
  • リストボックス
  • チェックボックス
  • オプションボタン
  • フレーム
  • トグルボタン
  • CommandButton
  • タブストリップ
  • マルチページ
  • スクロール・バー
  • スピンボタン
  • 画像

これらのコントロールに加えて、Visual Basicには、メッセージの表示やユーザーにアクションを促すために使用できるMsgBox関数が用意されています。

次のいくつかのセクションでは、これらのコントロールとMsgBoxについて理解します。 次に、ユーザーフォームの設計に必要なこれらのコントロールを選択することができます。

ラベル

タイトル、キャプション、および/または簡単な指示などの説明テキストを表示することにより、識別目的でラベルを使用できます。

ラベル

テキストボックス

テキストを入力、表示、または編集するには、長方形のボックスであるTextBoxを使用できます。 また、読み取り専用情報を表示する静的テキストフィールドとしてTextBoxを使用することもできます。

テキストボックス

リストボックス

リストボックスを使用して、ユーザーが選択できる1つ以上のテキストアイテムのリストを表示できます。 リストボックスを使用して、数や内容が異なる多数の選択肢を表示します。

  • ユーザーフォームにリストボックスを挿入します。
  • リストボックスをクリックします。
  • ListBoxの[プロパティ]ウィンドウで、名前にProjectCodesと入力します。

リストボックスには3種類あります-

  • 単一選択リストボックス-単一選択リストボックスでは、1つの選択肢のみが有効になります。 この場合、リストボックスはオプションボタンのグループに似ていますが、リストボックスは多数のアイテムをより効率的に処理できる点が異なります。
  • 複数選択リストボックス-複数選択リストボックスは、1つの選択肢または連続した(隣接する)選択肢を有効にします。
  • 拡張選択リストボックス-拡張選択リストボックスでは、1つの選択肢、連続した選択肢、および不連続な(またはばらばらの)選択肢を使用できます。

[プロパティ]ウィンドウから、これらのタイプのリストボックスのいずれかを選択できます。

リストボックス

  • UserFormを右クリックします。
  • ドロップダウンリストから[コードの表示]を選択します。 UserFormのコードウィンドウが開きます。
  • コードウィンドウの右上のボックスで[初期化]をクリックします。
  • Private Sub UserForm_Initialize()の下に次を入力します。
ProjectCodes.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")

初期化

  • リボンの[実行]タブをクリックします。
  • ドロップダウンリストからRun Sub/UserFormを選択します。

実行の選択

次に、リスト内のアイテムを選択するアクションのコードを記述できます。 それ以外の場合は、選択したテキストのみを表示できます。これは、レポートにプロジェクトコードを入力する場合です。

コンボボックス

テキストボックスとリストボックスを組み合わせた ComboBox を使用して、ドロップダウンリストボックスを作成できます。 コンボボックスはリストボックスよりもコンパクトですが、ユーザーが下矢印をクリックしてアイテムのリストを表示する必要があります。 コンボボックスを使用して、リストから1つのアイテムのみを選択します。

  • ユーザーフォームにComboBoxを挿入します。
  • ComboBoxをクリックします。
  • ComboBoxの[プロパティ]ウィンドウで、[名前]にProjectCodes2と入力します。

ComboBox

  • UserFormを右クリックします。
  • ドロップダウンリストから[コードの表示]を選択します。
  • UserFormのコードウィンドウが開きます。

次のように入力します。

ProjectCodes2.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")

コードウィンドウ

  • リボンの[実行]タブをクリックします。
  • ドロップダウンリストからRun Sub/UserFormを選択します。

実行タブ

下矢印をクリックして、アイテムのリストを表示します。

下矢印をクリック

Project2016-5などの必要な項目をクリックします。 選択したオプションがコンボボックスに表示されます。

必須アイテム

チェックボックス

チェックボックスを使用して、ボックスをクリックして表示される1つ以上のオプションを選択できます。 オプションにはラベルが付いており、選択されているオプションを明確に視覚化できます。

チェックボックスは2つの状態を持つことができます-

  • 選択(オン)、ボックス内のチェックマークで表示
  • クリアされた(オフになっている)、クリアボックスで示されています

コンボボックスでオプションを選択するためのチェックボックスを使用して、スペースを節約できます。 このような場合、チェックボックスはまた、第三の状態を持つことができます-

  • 混合。オンとオフの状態の組み合わせを意味し、ボックス内の黒い点で示されます。 これは、チェックボックス付きのコンボボックスで複数の選択を示すために表示されます。
  • 以下に示すように、ユーザーフォームにチェックボックスを挿入します。

チェックボックス

  • リボンの[実行]タブをクリックします。
  • ドロップダウンリストからRun Sub/UserFormを選択します。
  • 選択したオプションのボックスをクリックします。

ボックス

オプションボタン

オプションボタン(ラジオボタンとも呼ばれます)を使用して、相互に排他的な限られた選択肢の中から1つの選択肢を作成できます。 オプションボタンは通常、グループボックスまたはフレームに含まれています。

オプションボタンは小さな円で表されます。 オプションボタンは、次の2つの状態のいずれかを持つことができます-

  • 選択(オン)、円内のドットで示
  • クリア(オフ)、空白で表示

フレーム

グループボックスとも呼ばれるフレームコントロールを使用して、関連するコントロールを1つの視覚的な単位にグループ化できます。 通常、オプションボタン、チェックボックス、または密接に関連するコンテンツは、フレームコントロールにグループ化されます。

フレームコントロールは、オプションのラベルが付いた長方形のオブジェクトで表されます。

  • キャプションが「選択」のフレームを挿入します。
  • キャプションが「はい」と「いいえ」の2つのオプションボタンをフレームコントロールに挿入します。 [はい]と[いいえ]オプションは相互に排他的です。
  • リボンの[実行]タブをクリックします。
  • ドロップダウンリストからRun Sub/UserFormを選択します。
  • 選択したオプションをクリックします。

選択されたオプション

トグルボタン

トグルボタンを使用して、YesやNoなどの状態、またはonやoffなどのモードを示すことができます。 このボタンをクリックすると、有効状態と無効状態が切り替わります。

以下に示すように、ユーザーフォームにトグルボタンを挿入します-

TogglebButton

  • リボンの[実行]タブをクリックします。
  • ドロップダウンリストからRun Sub/UserFormを選択します。 トグルボタンはデフォルトで有効な状態になります。

デフォルト

トグルボタンをクリックします。 トグルボタンは無効になります。

トグルボタン

トグルボタンを再度クリックすると、有効になります。

CommandButton

コマンドボタンを使用して、ユーザーがクリックするとアクションを実行するマクロを実行できます。 ワークシートのコマンドボタンを使用してマクロを実行する方法は既に学習しました。

コマンドボタンは、プッシュボタンとも呼ばれます。 以下に示すように、ユーザーフォームにコマンドボタンを挿入します-

CommandButton

  • コマンドボタンを右クリックします。
  • サブCommandbutton1_click()に次のコードを入力します。
ProjectCodes2.DropDown

CommandButton1

  • リボンの[実行]タブをクリックします。
  • ドロップダウンリストからRun Sub/UserFormを選択します。

日次レポート

コマンドボタンをクリックします。 コードで記述したアクションであるため、コンボボックスのドロップダウンリストが開きます。

コンボボックス

タブストリップ

ユーザーフォーム上のExcelタブに似たタブストリップを挿入できます。

スクロール・バー

スクロール矢印をクリックするか、スクロールボックスをドラッグして、スクロールバーを使用して値の範囲をスクロールできます。

ユーザーフォームに必要な位置に描画してスクロールバーを挿入し、スクロールバーの長さを調整します。

ScrollBar

  • スクロールバーを右クリックします。
  • ドロップダウンリストから[コードの表示]を選択します。 コードウィンドウが開きます。
  • sub ScrollBar1_Scroll()の下に次の行を追加します。
TextBox2.Text = "Scrolling Values"

スクロール値

  • リボンの[実行]タブをクリックします。
  • ドロップダウンリストからRun Sub/UserFormを選択します。

ScrollBar Report

スクロールボックスをドラッグします。 テキスト-スクロール値は、スクロールバースクロールのアクションとして指定したとおりにテキストボックスに表示されます。

テキストボックス

MsgBox()

MsgBox()関数を使用して、何かをクリックしたときにメッセージを表示できます。 これは、ガイドラインまたは何らかの情報、警告またはエラーアラートになります。

たとえば、スクロールボックスのスクロールを開始すると、値がスクロールされているというメッセージを表示できます。

MsgBox Function

メッセージボックスアイコンの表示

特定のメッセージを表すメッセージボックスアイコン表示を使用できます。 あなたの目的に合わせて複数のメッセージボックスのアイコンがあります-

  • ScrollBar1_scrollの下に次のコードを入力します。
MsgBox "Select Ok or Cancel", vbOKCancel, "OK  - Cancel Message"
MsgBox "It's an Error!", vbCritical, "Run time result"
MsgBox "Why this value", vbQuestion, "Run time result"
MsgBox "Value Been for a Long Time", vbInformation, "Run time result"
MsgBox "Oh Is it so", vbExclamation, "Run time result"
  • リボンの[実行]タブをクリックします。
  • ドロップダウンリストからRun Sub/UserFormを選択します。
  • スクロールボックスをドラッグします。

次のメッセージボックスが連続して表示されます。

メッセージボックス

ユーザーフォームの設計

これで、ユーザーフォームで使用できるさまざまなコントロールを理解できました。 コントロールを選択し、必要に応じてグループ化し、いくつかの意味のあるシーケンスに従ってユーザーフォームに配置します。 それぞれのコントロールに対応するコードとして必要なアクションを記述します。

UserFormの例については、このチュートリアルライブラリのVBAチュートリアルを参照してください。