VBA樹林– category –
-
【VBA】シート上のリストボックスを使いこなす!主要プロパティ徹底解説
はじめに Excelのシート上に配置できる「フォームコントロール」のリストボックスは、ユーザーに選択肢を提示するための非常に強力なツールです。VBAでこのリストボックスを自在に操るためには、その主要なプロパティを理解することが不可欠です。 この記... -
【VBA】シート上のコントロールを種類別コレクション (CheckBoxes等)で操作する方法
はじめに Excelのシート上に配置した「フォームコントロール」をVBAで操作する際、前回は Shapes コレクションを経由する方法をご紹介しました。しかしVBAには、より直接的にコントロールを扱うための、コントロールの種類ごとに用意された専用のコレクシ... -
【VBA】シート上のフォームコントロールを操作する方法 (ControlFormat オブジェクト)
はじめに Excelのワークシートには、「フォームコントロール」と「ActiveXコントロール」という2種類のコントロールを配置できます。このうち、より手軽に使えるのが「フォームコントロール」です。 通常、これらのコントロールの値は、LinkedCell(リンク... -
【VBA】ユーザーフォームにコントロールを動的に追加し、イベントを処理する方法
はじめに VBAのユーザーフォームでは、通常、開発時に手動でコントロールを配置します。しかし、「シートのデータ数に応じて、必要な数だけボタンを自動生成したい」といったように、プログラムの実行時にコントロールの数や種類を決めたい場合があります... -
【VBA】ユーザーフォームのタブオーダーを設定して操作性を向上させる方法
はじめに VBAのユーザーフォームで、テキストボックスやボタンを配置した後に Tab キーを押すと、フォーカスが意図しない順番で飛んでしまい、使いにくいと感じたことはありませんか? このフォーカスが移動する順番のことを「タブオーダー」と呼びます。... -
【VBA】ユーザーフォームでフォーカスを制御する方法 (SetFocus と Enterイベント)
はじめに VBAのユーザーフォームにおいて、「フォーカス」とは、どのコントロールが現在アクティブになっているか(キーボード入力を受け付ける状態か)を示す概念です。ユーザーがフォームを開いたときに、最初から特定のテキストボックスにカーソルが当... -
【VBA】コンボボックスの使い方ガイド(ドロップダウンリストの作成と値の取得)
はじめに VBAのユーザーフォームで、部署名や商品カテゴリなど、あらかじめ決められた選択肢の中からユーザーに一つを選んでもらう場合、「コンボボックス」コントロールが非常に便利です。コンボボックスは、クリックすると選択肢がドロップダウン形式で... -
【VBA】リストボックスの項目を追加・削除・全クリアする方法
はじめに ユーザーフォームのリストボックスは、固定のリストを表示するだけでなく、ユーザーの操作に応じて項目を動的に追加したり、選択した項目を削除したり、リスト全体を**空(クリア)**にしたりすることができます。これにより、ショッピングカート... -
【VBA】リストボックスで複数選択を可能にし、選択項目を全て取得する方法
はじめに ユーザーフォームのリストボックスは、通常は一つの項目しか選択できません。しかし、例えば「複数の商品をカートに追加する」「複数のファイルを選択して処理する」といった場面では、複数の項目を一度に選択できるようにしたいですよね。 リス... -
【VBA】リストボックスの表示内容(値)をマクロで変更・再フォーマットする方法
はじめに ユーザーフォームのリストボックスにシートの表を表示した後、「特定の列の数値を3桁のゼロ埋めにしたい」「商品名の後ろに特定の文字列を追加したい」といったように、表示されている内容を整形・加工したい場合があります。 一度リストボックス... -
【VBA】リストボックスで選択された項目の値を取得する方法(複数列対応)
はじめに ユーザーフォームのリストボックスでユーザーに項目を選択してもらった後、その「選択された行のデータを取得する」のは、VBAツールの開発において最も基本的な操作の一つです。特に、複数列のリストボックスの場合、選択された行の特定の列(例:... -
【VBA】シートの表をユーザーフォームのリストボックスに表示する方法(複数列)
はじめに VBAのユーザーフォームで、商品一覧や顧客名簿といった、Excelシート上の表(テーブル)データをそのまま表示したい、という場面は非常に多くあります。 「リストボックス」コントロールは、複数列表示に対応しており、いくつかのプロパティを設... -
【VBA】ユーザーフォームのリストボックスに項目を追加(表示)する方法
はじめに VBAのユーザーフォームで、ユーザーに複数の選択肢の中から項目を選んでもらう際、「リストボックス」コントロールは非常に便利です。ドロップダウンリストとは異なり、常に複数の項目を一覧で表示できるため、選択肢の全体像が分かりやすいのが... -
【VBA】複数の質問項目をオプションボタンで選択させる方法(フレーム活用)
はじめに ユーザーフォームでアンケートを作成する際、「問1. 年代を選択」「問2. 性別を選択」のように、複数の設問に対してそれぞれ択一式の回答を求める場面があります。 しかし、オプションボタンをそのままフォームに配置すると、全てのボタンが一つ... -
【VBA】ユーザーフォームのオプションボタンで、どの項目が選択されたか判定する方法
はじめに VBAのユーザーフォームで、「複数の選択肢の中から、ユーザーに一つだけを選んでもらいたい」という場面は非常に多くあります。例えば、性別の選択(男性/女性)や、アンケートの評価(良い/普通/悪い)などです。このような択一式の選択には、「... -
【VBA】クラスモジュールで複数チェックボックスのイベント処理を共通化する方法
はじめに ユーザーフォームに同じようなチェックボックスを10個配置し、「どれか一つでもクリックされたら、対応するシートのセルに状態を書き込む」という処理を実装したい場合、CheckBox1_Click(), CheckBox2_Click()... と10個のイベントプロシージャを... -
【VBA】チェックボックスの状態が変わった瞬間、リアルタイムで処理を実行する方法
はじめに VBAのユーザーフォームで、チェックボックスがオン/オフされた瞬間に、何らかの処理をリアルタイムで実行したい、という場面は非常に多くあります。例えば、「『その他』のチェックボックスがオンになったら、詳細入力用のテキストボックスを有効... -
【VBA】ユーザーフォームのチェックボックスの使い方(オン/オフの判定)
はじめに VBAのユーザーフォームで、ユーザーに複数の選択肢の中から「必要なもの」を自由に選んでもらうような場面では、「チェックボックス」コントロールが最適です。アンケートの回答や、適用したいオプションの選択など、様々な用途で活用できます。 ... -
【VBA】ユーザーフォームのテキストボックスで長い文章をスクロール表示する方法
はじめに VBAのユーザーフォームで、利用規約やアプリケーションのヘルプ、詳細な注意事項といった、編集はさせずに、長い文章をスクロールしながら読んでもらいたい、という場面があります。 このような場合、複数行設定にした「テキストボックス」を、編... -
【VBA】ユーザーフォームで複数行入力できるテキストボックスを作成する方法
はじめに VBAのユーザーフォームで、住所や備考欄のように、ユーザーに複数行にわたる自由な文章を入力してもらいたい場合があります。デフォルトのテキストボックスは一行しか入力できませんが、いくつかのプロパティを設定するだけで、簡単に複数行入力... -
【VBA】ユーザーフォームのテキストボックス活用ガイド(初期値/パスワード/文字数制限)
はじめに VBAのユーザーフォームで、ユーザーからの文字入力を受け付けるために不可欠なのが「テキストボックス」コントロールです。 テキストボックスは、ただ文字を入力させるだけでなく、そのプロパティをVBAコードで設定することで、より親切で高機能... -
【VBA】ユーザーフォームに既定(Enter)/キャンセル(Esc)ボタンを設定する方法
はじめに Windowsの一般的なダイアログボックスでは、Enterキーを押すと「OK」ボタンが、Escキーを押すと「キャンセル」ボタンがクリックされたのと同じ動作をしますよね。これはユーザーにとって直感的で、キーボード操作の効率を大きく向上させます。 VB... -
【VBA】ユーザーフォームのコマンドボタンをクリックしてマクロを実行する方法
はじめに VBAのユーザーフォームは、ツールにグラフィカルな操作画面を提供する上で欠かせない要素です。そして、その中心となるのが、ユーザーがクリックして処理を指示するための「コマンドボタン」です。 「このボタンを押したら、シートに今日の日付を... -
【VBA】ユーザーフォームのラベルの書式(文字/色/サイズ)をコードで設定する方法
はじめに VBAのユーザーフォームで、ラベルは単なる静的なテキストを表示するだけでなく、ツールのタイトルや、処理の状況を伝えるステータスメッセージとして重要な役割を果たします。 通常、ラベルの書式はプロパティウィンドウで設定しますが、VBAコー... -
【VBA】ユーザーフォームのコントロールを有効/無効、表示/非表示に切り替える方法
はじめに VBAのユーザーフォームを作成する際、「チェックボックスがオンのときだけ、特定のテキストボックスを入力可能にしたい」「オプションボタンの選択に応じて、表示される項目を切り替えたい」といった、状況に応じた動的な制御が必要になることが... -
【VBA】ユーザーフォームのコントロールを整列させるマクロ(位置/サイズ設定)
はじめに VBAのユーザーフォームで複数のテキストボックスやボタンを配置する際、マウス操作で一つずつ位置やサイズを揃えるのは、手間がかかり、微妙にズレてしまうこともありますよね。 VBAコードを使えば、複数のコントロールの .Top (上からの位置), .... -
【VBA】ユーザーフォームのコントロールを名前(文字列)で操作する方法
はじめに VBAのユーザーフォームで、ラベルの文言やテキストボックスの値をコードで変更する場合、通常は Label1.Caption = "テキスト" のように、コントロールの名前を直接記述します。しかし、この方法では、操作したいコントロールの名前がプログラムの... -
【VBA】ユーザーフォームのタイトル(キャプション)とサイズをコードで設定する方法
はじめに VBAのユーザーフォームを作成する際、タイトルバーに表示されるテキスト(キャプション)やフォームの大きさ(幅と高さ)は、通常プロパティウィンドウで設定します。しかし、状況に応じてこれらの値を動的に変更したい場合があります。例えば、... -
【VBA】ユーザーフォームのボタンから標準モジュールのマクロを実行する方法
はじめに VBAでユーザーフォームを使って操作パネルを作るとき、「フォーム上のボタンをクリックしたら、標準モジュールに書いたメインの処理を実行したい」という場面は必ず出てきます。例えば、選択範囲の文字列から不要な空白を削除する、といった定型... -
【VBA】ダブルクリックしたセルに応じて、表示するユーザーフォームを切り替える方法
はじめに Excelシートを操作画面として使う際、「特定のセルをダブルクリックしたら、関連する入力フォームを開きたい」と考えたことはありませんか? 例えば、顧客名のセルをダブルクリックしたら顧客情報フォームを、商品名のセルなら商品詳細フォームを...