• ベストアンサー

セルの値によって、どちらのマクロを実行するか分岐?

■もしも A1セルの値が 「課長」「部長」という文字列を含んでいる場合は、    ”マクロA” を実行する。 ■そうではなく、 A1セルに、 「社長」「社員」という文字列があったなrば、 ”マクロBを実行する”  ・・・というマクロを作りたいのですが、教えていただけませんでしょうか。  どうぞ、よろしくお願いいたします。  

質問者が選んだベストアンサー

  • ベストアンサー
  • wa-ro-su
  • ベストアンサー率37% (18/48)
回答No.1

条件分岐のマクロを作成し、 作成したボタンに登録すれば出来ます。 文字列の部分一致を判断するにはLike演算子が便利です。 Sub 条件分岐() If Range("A1").Value Like "*部長*" Or _ Range("A1").Value Like "*課長*" Then Call マクロA ElseIf Range("A1").Value = "*社長*" Or _ Range("A1").Value = "*社員*" Then Call マクロB End If End Sub Private Sub マクロA() 処理本文 End Sub Private Sub マクロB() 処理本文 End Sub

penichi
質問者

お礼

解決致しました! ご回答、どうもありがとうございました!

関連するQ&A

  • セルの値が変ると自動でマクロが実行される。

    セルの値が変ると自動でマクロが実行されるVBAを教えて下さいm(_ _ )m 例えば、シート1のA1の値が変ると、マクロAが実行される。 シート1のA2の値が変ると、マクロBが実行される。 と一つのシート内に複数のイベントを設置したのですが、イマイチわかりません。 知恵をお貸し下さい。

  • 値によって違うマクロの実行

    表題の質問をさせていただきます。よろしくお願いいたします。 A1セルには、別シートで計算された値が転記されるようになっており、1から45までのいずれかの数値が入っています。 その数値によって異なる動きをするマクロが3個あります。  1から15の時はマクロA  16から30の時はマクロB  31から45の時はマクロC おのおののマクロはフォームのボタンから実行できるように登録してあります。 現在はA1セルの数値を見て該当するボタンを押してマクロを実行しています。 たとえばA1の値が「25」の時はマクロCが登録してあるボタンCを押しています。 そこで質問させていただきたいのは 既存のボタンを撤廃し 新たに設置するひとつのボタンで3個のマクロを制御したいと思ったのです。 新たなマクロでA1の値を取得し、そのマクロ内で既存のマクロへ割り振るためには どのような記述をすればよいのでしょうか。 よろしくお願いいたします。

  • マクロ セルの値に応じてセルに色を付ける

    マクロを利用して、セルの値に応じてセルに色を付ける方法について教えて下さい。 A列の値がA~Dの場合、A列~最終列のセルをそれぞれの色で塗りつぶしたいと思っております。 アドバイスの程、よろしくお願い致します。

  • エクセルでセルの値が変更されたらマクロを実行

    エクセルで、セルの値が変更されたらマクロを実行したいと考えています。 具体的には、A1のセルに何か値が入力されるか、変更されたら、 作成したマクロを実行したいと考えています。 どうしたらいいのでしょうか。 ご教授ください。 よろしくお願いします。

  • B列のセルにある文字が出た時A列のセルの値を変える

    B列のセルにある文字が出てきたときA列のセルの値を変える式、マクロを教えて下さい  A列のセルの値のリストは最初から決まっていてB列のセルに出てくるある文字と同じ数あります。

  • ◯ならば、右セルをコピーし、1セルにまとめるマクロ

    エクセルのマクロで、顧客管理情報のシートを作成しています 例えば下のような二列のセルがありまして、(|は、セルの境目を表す) ◯ | A ◯ | B × | C ◯ | D この時、 ◯のついている行の値だけど、つなげたいと思っています。 この場合であれば、得たい値は「A、B、D」という値です。(AとBの間を ”,” などで区切ろうと考えています。 エクセルの関数でいえば「A1&","&A2」といったところでしょうか・・・ そのような操作を、上のテーブルでいえば「◯」のついているセルに対してのみ実行してもらうマクロを組みたいです。 このような場合、どうしたら良いでしょうか? アドバイスを、どうぞよろしくお願いいたします。

  • セルの値変更でマクロ実行

    セルに値を入力すると、他のシートで演算され結果がセル"A1"にTRUE、FALSEと表示される関数式ができています。 セル"A1"の変化によりマクロ実行させたいと思います。プログラムの案をお願いします。

  • セルの値が●ならば▲のマクロを自動で実行

    エクセルで、セルの値が●ならば▲のマクロを自動で実行するということはできるのでしょうか? セルの値が●月(TODAY関数)なら、自動的に置換をするように設定したいのです。

  • セルの値によって実行するマクロを選択する

    マクロ1~3をすで作成してあります。 そこで 例えばsheet1のA1の値が 1~7の時---マクロ1を実行 8~14の時--マクロ1とマクロ2を実行 15~21の時---マクロ1、マクロ2およびマクロ3を実行 それ以外の値の時--メッセージ”やり直し”を表示 のようなマクロを作りたいのですが よろしくおねがいします

  • 【EXCEL】あるセルにAという値が入力されたら既定範囲にマクロを自動実行したい

    「あるセルにAという値が入力されると,既定範囲にマクロを自動実行する」ということはできますか? たとえばB2に「欠席」という値が入ったらその下のB3~B8までセルを斜線にする.     C3に「欠席」という値が入ったらその下のC3~C8までセルを斜線にする. という感じです.マクロサイトもいくつかみたのですが分かりません.お願いします.

専門家に質問してみよう