1つのシートにコンボボックス(フォームコントロール)を2つ並べてあります。
コンボボックス”ドロップ1” コンボボックス”ドロップ2”
【選択肢】 【選択肢】
・1回 ・A
・2回 ・B
・3回
とあります。それぞれのコンボボックスの選択肢は、別のシートに名前を定義して表示するようにしてあります。
その際、上の例だとマクロを6種類用意してあります。
(1) 1回A
(2) 1回B
(3) 2回A
(4) 2回B
(5) 3回A
(6) 4回B
とあり、1つ目のコンボボックスで「2回」を、2つ目のコンボボックスで「B」を選んだ場合、
(4)のマクロを実行するようにするにはどのようにしたらよいでしょうか?
※ コンボボックスは両方選ばない限りはマクロを実行させません。
また、両方既に選択してあり、そのマクロが一度実行させた後、一方だけ変更しても他のマクロを実行させたいです。
また、本件とは別の内容となっていまいますが、コンボボックスなどが”フォームコントロール”と”ActiveX コントロール”と2種類あるのですが、どのように違うのでしょうか?
ちなみにExcelは2007です。ご教授よろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは。
私は、今のところ、2007 Office を購入する予定はないので、2003で回答させていただきます。
最初に、
>コンボボックスなどが”フォームコントロール”と”ActiveX コントロール”と2種類あるのですが、どのように違うのでしょうか?
フォームコントロールというのは、アプリケーションの中に組み込まれてあるもので、「軽い」「速い」の特徴があるのですが、フォームコントロールの細かな仕様は、もう探してもないわけです。いわゆる、「隠しオブジェクト」の分類でヘルプにも出てきません。
ActiveX コントロールは、外部ツールです。つけたしも利くわけで、Excel専用もあれば、汎用性のあるものもあります。表現力は豊かです、プロパティも豊富なのです。MS側では、フォームとは縁を切りたいところだろうとは思うのですが、過去の遺産(レガシー)としての互換性で、なかなか捨てることも出来ないわけです。コントロールツール側で行ったほうがいろいろな面で便利だとは思います。
今回のコードは、双方向で実行ということですから、このようなコードでよいかと思います。
標準モジュール
'Option Explicit
Dim a As Variant
Dim b As Variant
Sub ComboBox1_Click()
a = Sheet1.DropDowns(1).Value
b = Sheet1.DropDowns(2).Value
Call SelectMacro
End Sub
Sub ComboBox2_Click()
a = Sheet1.DropDowns(1).Value
b = Sheet1.DropDowns(2).Value
Call SelectMacro
End Sub
Private Sub SelectMacro()
Dim c As String
c = a & b
Select Case c
Case "11": Call macro1
Case "12": Call macro2
Case "21": Call macro3
Case "22": Call macro4
Case "31": Call macro5
Case "32": Call macro6
End Select
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
- Excel(エクセル) コンボボックス及びリストボックスを5段階連動させる方法をご存知の方ご教授頂きたいです。 Excelで 3 2022/04/03 21:43
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- Visual Basic(VBA) マクロ初心者の質問です。 1.シートを開いてマクロを実行する場合、アクセスキーでAlt-L-PMとタ 2 2022/12/23 10:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら「ろうそくの数はあなたが好きな人の数です」と言われ浮気者扱いされたことをいまだに根に持っています。
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
既存のマクロをコンボボックスのプルダウンで選択できるようにしたいです。
Access(アクセス)
-
エクセルでプルダウン選択されたらマクロの処理を実行させる方法
Word(ワード)
-
VBA起動時のコンボボックスについて
Visual Basic(VBA)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カメラスクロールするのを動画...
-
Shapeコントロールの.NET移行方法
-
Excel VBA ファイル名をドラ...
-
コントロールを移動できない
-
OCXって何ですか?
-
WinAPIで電卓をクリック
-
vb.netで画面のコントロールId...
-
エクセル・VBA CheckBoxのオブ...
-
C#で角が丸いテキストボックス
-
Excelで、コンボボックスで選択...
-
C# Form上に配置されたコントロ...
-
サーバー上のブックを開けない...
-
winndws セキュリティ
-
C#で自分のウインド・ハンド...
-
ActiveX DLL と ActiveXコント...
-
ControlTipTextの書式設定(Font...
-
アクセス特有の書き方?
-
エクセルVBAでオプションボタン...
-
複数のコマンドボタン(VBAで)...
-
Excelコマンドボタン名を変数に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
ExcelVBAでListViewが使用できない
-
エクセルVBAでオプションボタン...
-
vb.netで画面のコントロールId...
-
C#で角が丸いテキストボックス
-
VBA ユーザーフォームの Keypre...
-
ユーザーフォームで動的(Me.Con...
-
フォーム上の現在アクティブな...
-
Excel VBA で Richtextboxを使...
-
ACCESS2010のVBAでフォーム内ク...
-
Groupboxの配下のコントロール...
-
コントロールを移動できない
-
コンボボックスの文字によるif...
-
(VBA)スピンボタンの大量...
-
Labelコントロールの(左右)余...
-
イメージコントロールに 読み込...
-
間違えて配置してしまったコン...
-
OCXって何ですか?
-
EXCELでactivexコントロールを...
おすすめ情報