• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBA(マクロ内でマクロを選択する))

エクセルVBAでマクロ内でマクロを選択する方法は?

pa_cottaの回答

  • pa_cotta
  • ベストアンサー率43% (25/58)
回答No.2

listboxとかでマクロの一覧を表示して、選択した名前の関数を実行するようにすればできませんか? しばらくVBAというかVBは触ってないのでうろ覚えですが、「call 関数名」で関数の呼び出しができた覚えがあります。 マクロの一覧は配列とかに入れておけばひっぱってくるのも楽かと思います。 どちらにしろ開始番号と終了番号を入力するのであれば、入力用のフォームを作ってその中で 一緒にマクロまで選択させてしまうのがいいかと。

e-d-o-
質問者

お礼

有難うございました。とても勉強になりました。

関連するQ&A

  • EXCEL マクロ 選択肢

    現在、営業担当ごとに売り上げなどのデータ集計をするマクロを組んでいます。 マクロはできているのですが、担当者1人につき1つのマクロを組んでいるのでそれを1つに集約したいと思っています。 マクロの内容はほぼ同じで担当者のアルファベットを変えているだけなので、マクロ実行時に担当者のアルファベットを選択させマクロを実行するようにしたいのですが、方法が分かりません。 理想はマクロ実行時に選択肢が表示されその選択した値で分岐させてどの担当者のデータ集計をするかを判断するようなものにしたいと考えています。 よろしくお願いいたします。

  • マクロを使い選択範囲を次々と変えて並べ替えたい

    マクロ作成は 範囲選択 A4~G12 マクロ記録開始 並べ替え E列 降順 マクロ記録終了 でマクロを作成し 次に範囲選択 A14~G22でこのマクロを実行すると範囲選択が前と同じA4~G12が並べ替えられてしまいます。 マクロの中を見ると範囲選択 A4~G12が書かれてしまっています。 次のように、選択範囲を次々と変えて並べ替えるマクロを作りたいのですがお教え願います。 1. 範囲選択 A4~G12を選択 マクロ実行で選択範囲をE列の値で降順並べ替える 2. 範囲選択 A14~G22を選択 マクロ実行で選択範囲をE列の値で降順並べ替える 3. 範囲選択 A28~G32を選択 マクロ実行で選択範囲をE列の値で降順並べ替える

  • 複数マクロの選択実行方法を教えて下さい

    VBA初心者です。 現在2つのマクロがあります。 イメージとしては、 コンボボックスのようなドロップダウンリストから、 1つのマクロを選択したら、そのマクロを実行できるというものです。 (※2つ同時とか、2つ連続して、マクロの実行と言う意味ではありません) 今後マクロが増えることも加味して、 ・フォームでもActivXでも、 ・コンボボックスでもボタンでもリストボックスでも、 方法は問わないので、出来る方法があれば教えて頂きたいです。 色々検索してみましたが探しきれなかったので、宜しくお願いします。

  • エクセルVBAでマクロを使ったシステムについて

    はじめまして。 私は今仕事でちょっとしたシステムをエクセルで作っています。 VBAを初めて使うのでご教示頂けたら幸いです。 私が作りたいシステムのイメージは下記の通りです。 リストボックスが二つあって、それぞれ大カテゴリと小カテゴリ。 例えば大カテゴリには野菜、魚、果物などが選択できるようになっていて、 大カテゴリで野菜を選択した場合には小カテゴリでじゃがいも、玉ねぎ、ほうれん草が、 大カテゴリで魚を選択した場合には小カテゴリで鮭、秋刀魚、鰯が、 大カテゴリで果物を選択した場合は小カテゴリでみかん、りんご、バナナが選択できるようにしたい と思っています。 そしてその選択したアイテムによって、変数に値が代入され 別に作ってあるマクロの変数に値を飛ばし、 そのマクロを実行させるようにしたいのです。 変数に値というのは、例えばじゃがいもを選択した場合には、 i=3,k=3 といった具合です。 また別に作ってあるマクロというのは、例えば鮭を選択した場合だったら、 その鮭の写真や詳細なデータをDBから拾いエクセル上に表示させるマクロです。 こちらのマクロはもう完成しております。 このようなシステムを作るのは可能でしょうか? どなたかコードを具体的にご教示頂けましたら幸いです。 何卒宜しくお願い申し上げます。

  • EXCEL VBAを使ってマクロを組んだのですが、消えてしまいます。

    VBAを使ってマクロをEXCELに組んだのですが、貼り付け先のデータをダブルクリックするとデータが消えてしまいます。 組んでいるマクロは (前提) ファイルA・・コピー元データ ファイルB・・貼り付け先データ (内容) Aファイルでマクロを実行すると、Aファイルの内容がBファイルにコピーされるというものです。 Aファイルの元データは数式のため、Aファイル内でいったん値として貼り付けてから再度コピーして、Bファイルに貼りつけています。 Aファイルは自分で作成したものですが、Bファイルは他社作成のため、もろもろ変更ができません。 Aファイルにもロックが必要のため、保護をかけています。(ロック、表示ともに) マクロ実行後、Bファイルの貼りつけされたデータをダブルクリックすると、ダブルクリックしたセル内容が消えてしまいます。 まったく原因がわからず困っています。すみませんがどなたかわかるかたお願いいたします。

  • Excelで、コンボボックスで選択したとき特定のマクロを動かす

    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です。ご教授よろしくお願いします。

  • エクセルの印刷マクロについてご教示下さい。

    現在、     シート1のA列に番号(NO1~200)を、B列からG列までには各番号のデータを入れて     整理したものを、シート2で作成した印刷様式に、印刷マクロ(年賀状の宛名印刷を修正     したもの)を使って印刷を行っていますが、マクロを実行するとデータがない番号も印刷     (カラ印刷)していますので、困っています。         印刷データがない番号(例えばB列にデータがない)については、印刷しないようにする     には、どのようなコードを入れればよいのでしょうか。          VBAをはじめたばかり(素人)ですので、よろしくお願いいたします。(エクセル2003使用)

  • エクセルで特定のセルを選択したい(マクロ)

    以下のようなマクロを組もうとしていますが、出来ません。 sheet1において 1)マクロを実行すると、メッセージボックスが出る。 2)メッセージボックスに入力した文字と同じ文字が入力されているセルを選択する。 3)2)のセルの1行下のセルを選択する。 2)で必ずエラーが出てしまいます。どのような方法が良いのか教えていただけるとありがたいです。よろしくお願いします。

  • Excel VBA Find関数の使い方

    下記のようなマクロを作りたいと思います。 <シート名:元データ> B列(商品番号)がA列(ファイル名)に含まれていれば、 A列のファイル名をC列(チェック)に転記するものです。 <シート名:完成形> やりたいことの完成形がこちらのシートです。 詳しいデータは画像データを添付しました。 Findを使用するところまでは調べたのですが、VBA初心者のため シンプルな方法があれば教えてください。

  • ExcelでのVBAマクロについて

    質問させていただきます。 今現在、知人に設定していただいた一つのマクロを使って作業しています。 (そのマクロ自体は【選択したセル】と【直下のセル】のデータを「テキスト」として『前後のスペース』を削除し「セル内改行」で結合する。高さ調整後、1セル分上がる。というものです) 今までは1セルずつこれを使って結合し、セル内文章をまとめて一番上に持ち上げていました。しかし、今回私がやりたいのは1セルずつマクロを実行(ショートカットキーを使っていますが)するのが手間なので、5セル(上下方向にです)に対して一気に先ほどの既存マクロを適応する、という風にしたいのです。(選択セルと直下セルが結合されて選択セル内文章が増えるというやり方ですので、一番初めのポインタ位置は結合したいデータの下から二つ目でないといけません。その場合、この既存マクロを4回繰り返すマクロがほしいのです) 私自身、「記録」機能を使ったマクロしか組んだことがなかったのでVBAのほうをいじってみても知識不足でエラーばかり出てしまい、困ってしまいました。 とても説明がややこしく、分かりづらいとは思いますが、ご回答いただけると有り難いです。