目次:
ビデオ: 【初心者向けエクセルVBA】入力ダイアログを表示するInputBoxメソッドの使い方 2024
VBA Excel 2016でダイアログボックスコントロールを操作する方法はたくさんあります。 、 読み続けます。ここでは、UserFormオブジェクトのダイアログボックスコントロールを操作する方法について説明します。
コントロールの移動とサイズ変更
コントロールをダイアログボックスに配置した後、標準のマウステクニックを使用してコントロールを移動してサイズを変更できます。また、正確なコントロールのために、プロパティウィンドウを使用して、コントロールの高さ、幅、左または上のプロパティの値を入力することができます。
<! - 1 - >複数のコントロールをCtrl +クリックして選択できます。または、コントロールのグループを「ラッソ」にドラッグしてドラッグすることもできます。複数のコントロールを選択すると、[プロパティ]ウィンドウには、選択したすべてのコントロールに共通するプロパティのみが表示されます。これらの共通のプロパティを変更することができます。選択したすべてのコントロールは、一度に1つずつ行うよりはるかに高速です。
コントロールは別のコントロールを隠すことができます。つまり、あるコントロールを別のコントロールの上に重ねることができます。そのような理由がない限り、コントロールが重ならないようにしてください。
<! VBEウィンドウの[書式]メニューには、ダイアログボックスのコントロールの配置と配置を正確に行うためのコマンドがいくつか用意されています。これらのコマンドを使用する前に、操作するコントロールを選択してください。これらのコマンドは、期待どおりに動作します。ここには、整列されようとしているいくつかのCheckBoxコントロールがあるダイアログボックスがあります。
- > [書式] - > [整列]コマンドを選択して、ユーザーフォームコントロールの配置を変更します。
複数のコントロールを選択すると、最後に選択したコントロールには、通常の黒いハンドルではなく、白いハンドルが表示されます。白いハンドルのコントロールは、[書式]メニューを使用するときに選択した他のコントロールを調整またはサイズ変更するための基礎となります。
キーボードユーザーの対応多くのユーザーがキーボードを使用してダイアログボックスをナビゲートすることを好みます。タブまたはShift + Tabを押すとコントロールが切り替わり、ホットキーを押すと特定のコントロールが即座にアクティブになります。
タブの順序
アクセラレータのキー
タブの順序を変更する
-
タブの順序によって、キーボードの順序が決定されますユーザがTabまたはShift + Tabを押したときにコントロールがアクティブになります。また、どのコントロールが初期の
-
フォーカス
を持っているかを決定します。つまり、ダイアログボックスが最初に表示されたときにアクティブなコントロールです。たとえば、ユーザーがテキストボックスにテキストを入力する場合、TextBoxにフォーカスがあります。ユーザーがOptionButtonをクリックすると、OptionButtonにフォーカスがあります。 Excelが最初にダイアログボックスを表示すると、タブ順序の最初のコントロールにフォーカスが当てられます。
コントロールタブの順序を設定するには、「表示」→「タブ順序」を選択します。また、ダイアログボックスを右クリックし、ショートカットメニューから「タブ順序」を選択することもできます。いずれの場合も、Excelはタブオーダーダイアログボックスを表示します。 タブ順ダイアログボックス。 Tab Orderダイアログボックスには、UserFormのすべてのコントロールが一覧表示されます。ユーザーフォームのタブ順序は、リスト内の項目の順序に対応します。コントロールのタブ順序を変更するには、リスト内でタブの順番を選択し、「上に移動」または「下に移動」ボタンをクリックします。複数のコントロールを選択することができます(ShiftキーまたはCtrlキーを押しながらクリック)し、一度にすべてのコントロールを移動します。
タブ順序ダイアログボックスを使用するのではなく、プロパティウィンドウを使用してタブ順序でコントロールの位置を設定できます。タブ順序の最初のコントロールには、TabIndexプロパティが0に設定されています。タブ順序からコントロールを削除する場合は、TabStopプロパティをFalseに設定します。
一部のコントロール(フレームコントロールやマルチページコントロールなど)は、他のコントロールのコンテナとして機能します。コンテナコントロール内のコントロールには、独自のタブ順があります。 Frameコントロール内のOptionButtonのグループのタブ順序を設定するには、View→Tab Orderコマンドを選択する前にFrameコントロールを選択します。ホットキーの設定
通常、アクセラレータキー、またはダイアログボックスのコントロールに
ホットキー
を割り当てたいとします。これを行うには、[プロパティ]ウィンドウでアクセラレータプロパティの文字を入力します。コントロールにAcceleratorプロパティ(TextBoxなど)がない場合でも、Labelコントロールを使用して直接キーボードにアクセスできるようにすることができます。つまり、アクセラレータキーをLabelに割り当て、TextBoxの直前にLabelをタブ順に配置します。
ここに3つのテキストボックスを持つユーザーフォームがあります。テキストボックスを記述するラベルはアクセラレータキーを持ち、各ラベルは対応するテキストボックスの前にタブ順に並んでいます。たとえば、Alt + Dを押すと、Department Labelの横にあるTextBoxがアクティブになります。 アクセラレータキーを持たないコントロールに直接アクセスするには、ラベルを使用します。 ユーザーフォームのテスト
VBEは、VBAプロシージャから呼び出さずにユーザーフォームをテストする3つの方法を提供します。
実行→サブ/ユーザーフォームの実行コマンドを選択します。F5キーを押します。
標準ツールバーの[Run Sub / UserForm]ボタンをクリックします。
-
このテストモードでダイアログボックスが表示されたら、タブオーダーとアクセラレータキーを試すことができます。