• ベストアンサー

エクセルのマクロ 条件分岐?

VBA初心者です。よろしくお願いします。 相対参照で2つあるマクロ(マクロ名:コーヒーとマクロ名:紅茶)のうち条件をつけて片方を実行するようにしたいのですが、どのように記述したらできるでしょうか。 条件はアクティブセルがセルC1にある状態でセルA1に123と入力されているときに、コーヒーを実行してabcと入力されているときに紅茶を実行し、その返しをB1に入力します。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>条件はアクティブセルがセルC1にある状態でセルA1に123と入力されているとき… sub macro1()  on error resume next  if activecell.offset(0, -2).value = 123 then コーヒー  if activecell.offset(0, -2).value = "abc" then 紅茶 end sub sub macro2()  if activecell.address <> "$C$1" then exit sub  if raneg("A1").value = 123 then コーヒー  if range("A1").value = "abc" then 紅茶 end sub sub macro3()  select case cells(activecell.row, "A").value  case 123   コーヒー  case "abc"   おちゃ  end select end sub sub コーヒー() msgbox "こーひー" end sub sub 紅茶() msgbox "おちゃ" end sub それで? ご質問に書かれた「条件」のいったいどこら辺が「相対参照」なのでしょうか。

c7_d30ea200
質問者

お礼

お早い回答ありがとうございます。相対参照にしたいのは紅茶とコーヒーを実行することでアクティブセルが動くのでそのためです。さっそく教えていただいた方法でやってみます! あとから気づいたのですが最後のB1に入力するは関係なかったですね><