• ベストアンサー

EXCEL2000ある条件で指定セルへ移動させたい

EXCEL2000を使用しています。 行いたいことは、例えば、a2に"対象"と入力したら、d2にセルが飛び、セルの色が赤くなり、"対象にした理由を入力ください"とメッセージを出したいです。 VBAでも構いませんが、あまり得意ではなので、なるべくVBA以外の方法をお教え頂ければと思います。 どうぞよろしくお願い致します。

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

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

失礼しました。 改めて; D列を列選択する(必ず行う) 書式メニューから条件付き書式を開始する セルの値が → 数式が に変更し =(A1="対象")*(D1="") と記入して、書式ボタンでセルの色を赤く塗る シート名タブを右クリックしてコードの表示を選ぶ 現れたシートで今記載されている内容は全て消去する 改めて下記をコピー貼り付ける private sub Worksheet_Change(byval Target as excel.range)  dim h as range  if application.intersect(target, range("A:A")) is nothing then exit sub  for each h in application.intersect(target, range("A:A"))   if h = "対象" then    cells(h.row, "D").select    msgbox "理由を入力"   end if  next end sub

zero2012
質問者

お礼

都度、ご回答頂き、誠にありがとうございます。 お陰様で、無事やりたいことが出来ました!感謝致します。 =(A1="対象")*(D1="")で、条件定義が出来ることを初めて知りました。 また、EXCEL2000やACCESS2000について質問させていただきますので、ご回答の程、どうぞよろしくお願い致します。 (現在、ACCESS2000にて、EXCELファイルのインポートを質問中ですので、どうぞよろしくお願い致します。) 本当に、助かりました。 どうもありがとうございました!!

その他の回答 (1)

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

>d2にセルが飛び Excel2002(OfficeXP)以降ならシートの保護を併用してある程度の事は出来ますが、エクセル2000ではマクロを使うしかありません。 >"対象にした理由を入力ください"とメッセージを出したい どこに、あるいはどのように、「メッセージを出し」たいのですか。 ご質問のD2セルに「メッセージ」を記入し、そのD2のメッセージを手入力で書き換えさせるような事をイメージしているのですか? 手順: D2セルに =IF(A2="対象","対象にした理由を記入","") 更に条件付き書式で セルの値が 次の値に等しい 対象にした理由を記入 で書式ボタンでセルの色を赤く塗らせる ユーザーはにD2セルの数式を、実際の理由で書き潰させる。 あるいは例えば「メッセージボックス」をポップアップしてメッセージを表示するとかなら、それはマクロの仕事です。 手順: シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub Worksheet_Change(byval Target as excel.range)  dim h as range  on error resume next  for each h in application.intersect(target, range("A:A"))   if h = "対象" then    msgbox "対象にした理由を入力"    cells(h.row, "D").select    activecell.interior.color = vbred    exit sub   end if  next end sub #赤くする部分は、前述の条件付き書式を併用する方が良い。

zero2012
質問者

補足

keithinさん 早速にご回答いただき、また、行いたい内容を的確にお教え頂き、誠にありがとうございます。 お教え頂いた通りに行った結果、セルが移動し、メッセージが表示されましたが、その後、どのセルを選択してもメッセージが表示されてしまいました。。 もしよろしければ、回避方法をお教えいただけますでしょうか。 どうぞよろしくお願い致します。

関連するQ&A

専門家に質問してみよう