Dim a As Workbook ユーザーフォームにはいくつかイベントが用意されていますが、その中でもアクティブになった際に実行されるイベントは非... Excel VBA 複数のファイルのデータを1つのファイルの1シートにまとめる方法. hana-hana3さんの回答にもあるようにThisWorkBook.Closeでコード終了となりますので >VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり Public AA As String '* ‹@”\à–¾F 難しいことを知らないがゆえに内容も難しくないと思います。. >これはなぜでしょうか? Sub TESTを実行した時に、ユーザーフォーム1からNの値を引き継ぐには、どうしたら良いのでしょうか?よろしくお願いします。, 'モジュールに変数宣言(グローバル変数) '* ‹@”\à–¾F http://www.happy2-island.com/excelsmile/smile03/capter00716.shtml Dim y1 As Double, y2 As Double ' ¡¡¡ ƒTƒuˆ— ¡¡¡  しかし、 '* XVŽÒ@Fˆäã@Ž¡ '* ‹@”\@@F¢OK£ƒ{ƒ^ƒ“ClickƒCƒxƒ“ƒg '* ì¬“ú@F2003”N07ŒŽ25“ú DMN = ZPOS / ZPS 環境:WindowsXPでオフィス2002     .Top = x1 '--------------------------------------------------------------------------------------------------- 感謝の気持ちは20ptの人と同様です。     .Fill.Transparency = 0 どうすれば名称を確認することができますか? End Sub     .Fill.ForeColor.Brightness = -0.05 ユーザーフォームのリストボックスのイベント一覧と使い方についてご説明します。 '* XVŽÒ@Fˆäã@Ž¡ '* ’ˆÓŽ–€F がそんな質問ではないのですか。, EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。 '* ˆø”@@F(‚È‚µ) '* ˆ—–¼@FCMD_OK_Click     .Height = x2 - x1 '* ˆø”@@FArg1 = ƒeƒLƒXƒgƒ{ƒbƒNƒX(Object) 'Excel 2010 で作っていますので、2003以下では、一部コードを変えなくてはなりません。 #3-4 は Userform の CheckBox に対する回答です。[コントロール ツールボックス] '* XV“ú@F2020”N02ŒŽ24“ú Dim shp As Object  1.フォントサイズが、8~14以外が含まれている。 リボンの開発タブにコントロールの挿入があります。ActiveXコントロールをVBAで扱う場合の解説になります。ワークシートでActiveXコントロールを扱う事の是非はありそうですが、使用することで便利かつ見栄えの良いシートになる場合もあります。 どうすれば良いでしょうか?, 既に作成してあるワークシート上のコマンドボタンをVBAで移動させたいのですが If Not a Is Nothing Then, Excelのvbaでユーザーフォームを作成しました。 '--------------------------------------------------------------------------------------------------- Application.ScreenUpdating = False Excel 2010 で、フォーム コントロールおよび埋め込みオブジェクトの Enabled プロパティを False に設定しても、フォーム コントロールおよび埋め込みオブジェクトに登録されたマクロが実行される問題と回避策について説明します。 Excelを起動します。起動したら[コントロールツールボックス]を操作します。[コントロールツールボックス]が表示されていない場合は、次の手順で開きます。 Call A2 '* ‹@”\@@F‹àŠz€–Ú•\Ž¦—p•ÒW で、四捨五入 '* XVŽÒ@Fˆäã@Ž¡ '* ’ˆÓŽ–€F End Sub >どちらを使った方が良いでしょうか? Sub test02() マクロでエクセルを終了(ブックを閉じて、アプリケーション自体も終了)させたいのですが、以下のコードではアプリケーションが閉じてくれません。 コントロールの種類(TextBox,ComboBox等)を取得するプログラムがあれば教えて下さい。 ユーザーフォームにどのようなイベントがあるか、そのイベントを使う方... コンボボックスのテキストを変更すると、入力されているテキストを含んだ文字列のみのリストに変更する方法です。 また、お願いいたします。, ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!, ユーザーフォームで動的(Me.Controls.Add)に作成したコントロールの削除, エクセル・VBA CheckBoxのオブジェクト名に変数を使うことは可能でしょうか?, エクセルVBA フォームへ動的に貼り付けたボタンのクリックイベントを検知する方法を教えてください, 既に作成してあるワークシート上のコマンドボタンをVBAで移動させたいのですが 常にファイル名を取得出来るVBAをどなたか、教えて下さい。, >現在開いているブックのファイル名 Sub AlternativeWay() '代替の方法 にするしかないですか?, Unload Me とか Unload UserForm1 でユーザーフォームを閉じることができます。, 皆様のお知恵を拝借させてください。 "Forms.CommandButton.1" '* ì¬“ú@F2003”N07ŒŽ25“ú フォームと、それらに追加できる多くのコントロールとオブジェクトを使用して、ワークシートでデータを簡単に入力し、ワークシートの外観を向上させることができます。 Microsoft Visual Basic for Applications (VBA) のコードをほとんど、またはまったく必要としないで、自身の操作でこれらのことを行うこともできます。, ワークシートフォームは、Excel テンプレートとは異なります。 テンプレートは、あらかじめ書式設定されたファイルであり、意図したとおりに表示されるブックの作成を開始できます。 フォームには、ボックスやドロップダウンリストなどのコントロールが含まれているので、ワークシートを使ってデータの入力や編集が簡単にできるようにすることができます。 ダウンロードできるテンプレートの詳細については、「 Excel テンプレート」を参照してください。, フォームは、印刷されているかオンラインであるかにかかわらず、標準の構造と形式で設計されたドキュメントで、情報の取得、整理、編集が簡単に行えるようになりました。, 印刷フォームには、データの入力や入力に使用する手順、書式、ラベル、空白のスペースが含まれています。 Excel と Excel のテンプレートを使用して、印刷されたフォームを作成することができます。, オンラインフォームには印刷フォームと同じ機能が含まれています。 さらに、オンラインフォームにはコントロールが含まれています。 コントロールは、データを表示したり、データの入力や編集を行ったり、操作を実行したり、選択したりすることができるようにするオブジェクトです。 一般的に、コントロールを使用するとフォームの使い方が簡単になります。 一般的なコントロールの例としては、リスト ボックス、オプション ボタン、コマンド ボタンなどがあります。 またコントロールから、割り当てられているマクロを実行したり、Visual Basic for Applications (VBA) コードを実行することでマウス クリックなどのイベントに応答できます。, データ フォーム、フォーム コントロールおよび ActiveX コントロールを含むワークシート、VBA のユーザー フォームなど、Excel で作成できるフォームには複数の種類があります。 各種類のフォームを単独で使用することも、さまざまな方法で組み合わせて目的に適したソリューションを作成することもできます。, データ フォームでは、左右にスクロールすることなく、セル範囲やテーブル内の 1 行全体の情報を簡単に入力または表示できます。 データ列が多くて画面に収まらない場合、データ フォームを使用すると、列間を移動する必要がないため、簡単にデータを入力することができます。 列見出しをラベルとして一覧表示する単純な形式のテキスト ボックスで十分対応でき、リスト ボックスやスピン ボタンなどの高度なフォーム機能やカスタムのフォーム機能が不要な場合に、データ フォームを使用します。, Excel では、範囲やテーブルに対して、組み込みのデータ フォームを自動的に生成できます。 データ フォームでは、すべての列見出しがラベルとして 1 つのダイアログ ボックスに表示されます。 各ラベルの横には空のテキスト ボックスが表示され、そこに各列のデータを入力できます (最大で 32 列まで)。 データフォームでは、新しい行を入力したり、移動によって行を検索したり、(セルの内容に基づいて) 行を更新したり、行を削除したりすることができます。 セルに数式が含まれている場合、データ フォームには数式の結果が表示されますが、データ フォームを使用して数式を変更することはできません。, ワークシートは、グリッド上にデータを入力して表示するためのフォームの一種であり、コメントやデータの入力規則など、Excel ワークシートに既に組み込まれているいくつかのコントロールに似た機能を備えています。 セルは、さまざまな方法で入力および書式設定できるという点で、テキストボックスに似ています。 セルはラベルとして使用されることが多い。セルの高さと幅を調整し、セルを結合することで、ワークシートを単純なデータ入力フォームのように動作させることができます。 セルのコメント、ハイパーリンク、背景画像、データの入力規則、条件付き書式、埋め込みグラフ、オートフィルターなど、その他のコントロールのような機能を使用すると、ワークシートを高度な形で動作させることができます。, 柔軟性を高めるために、コントロールおよび他の描画オブジェクトをワークシートの描画キャンバスに追加し、ワークシートのセルと結合して連係させることができます。 たとえば、リスト ボックス コントロールを使用すると、項目を一覧から簡単に選択できるようになります。 また、スピン ボタン コントロールを使用すると、数字を簡単に入力できるようになります。, コントロールとオブジェクトは描画キャンバスに格納されているため、ワークシート上のデータのグリッドまたは表のレイアウトを変更することなく、関連付けられたテキストと共にコントロールとオブジェクトを表示したり、表示したりすることができます。 ほとんどの場合、これらのコントロールの多くはワークシートのセルにリンクすることができます。また、これらのコントロールを動作させるために、VBA コードは必要ありません。 コントロールを自由にフロートするか、セルと共に移動およびサイズ変更するかを決定するプロパティを設定することができます。 たとえば、範囲を並べ替えたときに、基になるセルと一緒に移動するチェックボックスがある場合があります。 ただし、リストボックスが常に特定の場所に保持されるようにする場合は、基になるセルと一緒に移動しないようにする必要があります。, Excel には、フォーム コントロールと ActiveX コントロールという 2 種類のコントロールがあります。 これらのコントロールのセットに加えて、 オートシェイプ、 ワードアート、SmartArt グラフィック、またはテキストボックスなどの描画ツールからオブジェクトを追加することもできます。, 次のセクションでは、これらのコントロールと描画オブジェクトについて説明します。また、その使用方法についても詳しく説明します。, フォーム コントロールは、以前のバージョンの Excel (Excel 5.0 以降) と互換性のある独自のコントロールです。 XLM マクロ シートでも使用できるように設計されています。, フォーム コントロールは、VBA コードを使用しないでセルのデータを簡単に参照および操作する場合や、コントロールをグラフ シートに追加する場合に使用します。 たとえば、リストボックスコントロールをワークシートに追加し、それをセルにリンクさせた後、コントロール内で選んだ項目の現在の位置に対して数値を返すことができます。 その数値を INDEX 関数と組み合わせて使用することで、一覧から別の項目を選択できます。, また、フォーム コントロールを使用してマクロを実行できます。 既存のマクロをコントロールに関連付けることも、新しいマクロを作成または記録することもできます。 フォームのユーザーがコントロールをクリックすると、マクロが実行されます。, ただし、これらのコントロールは、Web フォームに追加したり、イベントの制御に使用したり、Web ページで Web スクリプトを実行するように変更したりすることはできません。, セルまたはテキスト ボックスの目的を示したり、説明のテキスト (タイトル、キャプション、図など) や簡単な指示を表示したりします。, 関連するコントロールを、省略可能なラベルを持つ四角形で囲まれた 1 つの視覚的な単位としてグループ化します。 通常は、オプション ボタン、チェック ボックス、または密接に関連するコンテンツをグループ化します。, ユーザーがクリックしたときに、アクションを実行するマクロを実行します。 ボタンはプッシュ ボタンとも呼ばれます。, 違いのはっきりとした選択肢を示す値を有効または無効にします。 1 つのワークシートまたはグループ ボックスで複数のチェック ボックスをオンにできます。 チェック ボックスには、オン (選択)、オフ (非選択)、および複合 (複数選択した場合のオンとオフの状態の組み合わせ) という 3 つの状態があります。, 相互に排他的な選択肢の限定された範囲内で1つの選択肢を使用できます。通常、オプションボタンはグループボックスまたはフレームに含まれています。 オプションボタンには、オン (オン)、オフ (オフ)、混在という3つの状態のいずれかを使用できます。これは、オンとオフの状態 (複数選択の場合) の組み合わせです。 オプションボタンは、ラジオボタンとも呼ばれます。, 1 つまたは複数の文字列の項目の一覧が表示され、その一覧からユーザーが項目を選択できます。 リスト ボックスは、番号や内容が異なる選択肢を多数表示する場合に使用します。 3 種類のリスト ボックスがあります。, 単一選択リスト ボックスでは、1 つの項目のみ選択できます。 この場合、リスト ボックスはオプション ボタンのグループと同じ機能を持つように見えますが、リスト ボックスでは多数のアイテムをより効率的に扱うことができます。, 複数選択リスト ボックスでは、1 つの項目または連続した (隣り合った) 項目を選択できます。, 拡張選択リスト ボックスでは、1 つの項目、連続した項目、および不連続な (隣り合わない) 項目を選択できます。, テキスト ボックスとリスト ボックスを組み合わせて、ドロップダウン リスト ボックスを作成します。 コンボ ボックスはリスト ボックスよりコンパクトですが、項目の一覧を表示するには下向き矢印をクリックする必要があります。 エントリを入力したり、一覧から 1 つの項目のみを選択したりするには、コンボ ボックスを使用します。 このコントロールでは、入力方法に関係なく、現在の値がテキスト ボックスに表示されます。, スクロール矢印をクリックするか、スクロール ボックスをドラッグすることにより、値の範囲をスクロールします。 さらに、一方のスクロール矢印とスクロール ボックスとの間の領域をクリックすることにより、(事前に設定した間隔で) ページ内を移動することもできます。 通常は、関連付けられたセルまたはテキスト ボックスに文字列値を直接入力することもできます。, 数値のインクリメント、時刻、日付などの値を増加または減少させます。 値を増やすには、上向き矢印をクリックします。値を小さくするには、下向き矢印をクリックします。 通常は、関連付けられたセルまたはテキスト ボックスに文字列値を直接入力することもできます。, 注: 次のコントロールは Office Excel 2007 のブックでは使用できません。 これらのコントロールは、Excel バージョン5.0 のダイアログシートでのみ使うことができます。, ActiveX コントロールは、ワークシート フォーム (VBA コードを使用することもできます) および VBA のユーザー フォームで使用できます。 通常、フォーム コントロールよりも柔軟な設計要件が必要な場合に ActiveX コントロールを使用します。 ActiveX コントロールには、外観、動作、フォント、およびその他の特性をカスタマイズできる広範なプロパティがあります。, また、ActiveX コントロールを操作したときに発生するさまざまなイベントを制御することもできます。 たとえば、ユーザーがリスト ボックス コントロールから選択した項目に応じて異なるアクションを実行したり、ボタンをクリックしたときにデータベースを照会してコンボ ボックスの項目を変更したりできます。 また、ActiveX コントロールと関連付けられたイベントに応答するマクロを作成することもできます。 フォームでユーザーがコントロールを操作すると、VBA コードによって、そのコントロールに対して発生した任意のイベントの処理が実行されます。, また、コンピューターには、Excel や他のプログラムによってインストールされた多数の ActiveX コントロール (カレンダー コントロール 12.0、Windows Media Player など) が含まれています。, 重要: 一部の ActiveX コントロールをワークシートで直接使用することはできません。一部は、Visual Basic for Applications (VBA) のフォームでのみ使用できます。 特定の ActiveX コントロールのいずれかをワークシートに追加しようとすると、"オブジェクトを挿入できません" というメッセージが表示されます。, ただし、ActiveX コントロールは、ユーザー インターフェイスからグラフ シートに追加したり、XLM マクロ シートに追加したりすることはできません。 また、フォームコントロールと同じ方法で、ActiveX コントロールから直接実行するマクロを割り当てることもできません。, 違いのはっきりとした選択肢を示す値を有効または無効にします。 1 つのワークシートまたはグループ ボックスで複数のチェック ボックスを同時にオンにできます。 チェック ボックスには、オン (選択)、オフ (非選択)、および複合 (複数選択した場合のオンとオフの状態の組み合わせ) という 3 つの状態があります。, 四角形のボックスで、セルにバインドされているテキストまたはデータの表示、入力、編集を行うことができます。 また、読み取り専用の情報を表示する静的なテキスト フィールドとして使用することもできます。, ユーザーがクリックしたときに、アクションを実行するマクロを実行します。 コマンド ボタンはプッシュ ボタンとも呼ばれます。, 通常はグループボックスまたはフレームに含まれている限定された複数の選択肢の中の1つの選択肢を使用できます。 オプションボタンには、オン (オン)、オフ (オフ)、混在という3つの状態のいずれかを使用できます。これは、オンとオフの状態 (複数選択の場合) の組み合わせです。 オプションボタンは、ラジオボタンとも呼ばれます。, テキスト ボックスとリスト ボックスを組み合わせて、ドロップダウン リスト ボックスを作成します。 コンボ ボックスはリスト ボックスよりコンパクトですが、項目の一覧を表示するには下向き矢印をクリックする必要があります。 エントリを入力したり、一覧から 1 つの項目のみを選択したりする場合に使用します。 このコントロールでは、入力方法に関係なく、現在の値がテキスト ボックスに表示されます。, "はい/いいえ" などの状態、または "オン/オフ" などのモードを示します。 ボタンをクリックすると、有効な状態と無効な状態が入れ替わります。, 数値のインクリメント、時刻、日付などの値を増加または減少させます。 値を増やすには、上向き矢印をクリックします。値を小さくするには、下向き矢印をクリックします。 通常、ユーザーは、関連付けられたセルまたはテキストボックスにテキスト値を入力することもできます。, 関連する複数のコントロールを 1 つの視覚的な単位としてグループ化した、省略可能なラベルを持つ四角形のオブジェクトです。 通常は、オプション ボタン、チェック ボックス、または密接に関連するコンテンツをフレーム コントロールにグループ化します。, 注: ActiveX frame コントロールは、[挿入] コマンドの [ activex コントロール] セクションでは使用できません。 ただし、[コントロールの選択] ダイアログ ボックスで [Microsoft Forms 2.0 Frame] を選択すると、コントロールを追加できます。, カスタム フォームに追加でき、コンピューターで使用できる追加の ActiveX コントロール (カレンダー コントロール 12.0、Windows Media Player など) の一覧を表示します。 このダイアログ ボックスではカスタム コントロールを登録することもできます。, 、フォームに SmartArt グラフィック、図形、ワードアート、テキストボックスを含めることもできます。 これらのオブジェクトのサイズ変更、回転、反転、色、結合を行って、より複雑な図形を作成することができます。 図形またはテキストボックスオブジェクトに直接テキストを入力すると、テキストはそのオブジェクトの一部になります。オブジェクトを回転または反転させると、テキストが回転または反転します。 ActiveX コントロールとは異なり、フォントサイズやフォントスタイルなどのさまざまな属性をオブジェクト内の個々の単語や文字に割り当てることができます。 これらのオブジェクトには、マクロを割り当てたり、ハイパーリンクを追加することもできます。 図形またはテキストボックスオブジェクト内のテキストをワークシートのセルにリンクし、それらのオブジェクトの更新された値を動的に表示することもできます。, 通常、ワークシート フォームにフォームや ActiveX を追加した場合は、優れたデザインの使いやすいフォームを作成するために、さまざまな方法でコントロールを微調整および整理する必要があります。 一般的な作業を次に示します。, コントロールを操作するときの枠線の表示を調整する。最終的なワークシート フォーム上でユーザーに対して枠線を表示するかどうかを決定する。, プロパティを指定したり、追加調整を行ったりできるように、コントロールを選択および選択解除する。, コントロールのグループ化、コピー、移動、および位置揃えを行い、ワークシート フォームのレイアウトを整える。, ワークシート フォームでは、背景のセルの枠線の表示と非表示を切り替えることができます。 たとえば、セルの枠線を非表示にし、すべてのセルを同じ色やパターンで書式設定したり、シートの背景として図を使用したりできます。 枠線の表示と非表示を切り替えるには、[表示] タブの [表示/非表示] グループで、[枠線] チェックボックスをオフまたはオンにします。, 独自に変更できる 3 種類のコントロールとオブジェクトがあるので、外観だけではどの種類かわからないことがあります。 コントロールの種類 (フォームまたは ActiveX) を特定するには、コントロールを選択して右クリックし、ショートカット メニューを表示します。, ショートカット メニューに [プロパティ] が表示される場合、そのコントロールは ActiveX コントロールであり、デザイン モードになっています。, ショートカット メニューに [マクロの登録] が表示される場合、そのコントロールはフォーム コントロールです。, ヒント: グループボックスフォームコントロールに適切なショートカットメニューを表示するには、グループボックスの内側ではなく、境界線を選択していることを確認してください。, ショートカット メニューに [テキストの編集] が表示される場合、そのオブジェクトは描画オブジェクトです。, 柔軟性を最大限に高めるために、ユーザー設定のダイアログボックスであるユーザーフォーム (通常は1つ以上の ActiveX コントロールを含む) を作成することができます。 Visual Basic Editor で作成した VBA コードから、ユーザーフォームを利用できるようにします。 ユーザーフォームを作成するための大まかな手順は、次のとおりです。, ブックの VBAProject にユーザー フォームを挿入します。 ブックの VBAProject にアクセスするには、最初に Visual Basic Editor を表示し (ALT キーを押しながら F11 キーを押し)、[挿入] メニューの [ユーザーフォーム] をクリックします。, ユーザーフォームを使用して、高度なフォーム機能を利用することもできます。 たとえば、プログラムでアルファベットの文字ごとに異なるオプション ボタンを追加したり、多数の日付と数字を含む一覧の項目ごとにチェック ボックスを追加したりできます。, ユーザーフォームを作成する前に、必要に応じて Excel で使用できる組み込みのダイアログボックスを使うことを検討してください。 これらの組み込みのダイアログボックスには、VBA のinputboxメソッドとMsgBox関数、Excel のinputboxメソッド、 GetOpenFilenameメソッド、 GetSaveAsFilenameメソッド、アプリケーションのダイアログオブジェクトが含まれています。オブジェクト。組み込みの Excel のすべてのダイアログボックスが含まれます。, 詳細については、「Microsoft Office Excel デベロッパー ポータル」を参照してください。, 注: