• ベストアンサー

エクセルでオートシェイプをデータによって移動できますか?

エクセルでオートシェイプをデータによって自動で移動させる事は可能でしょうか? 例えば、 『血液型 : A・B・O・AB』 という項目があって、血液型によって○で囲む書式の場合に(血液型がA型ならば、Aを○で囲む)他のセルで血液型を入力して、その値が変更する事によって、囲む○(オートシェイプを使用)の位置を自動で移動させたい。 VBAはほとんどわからないので、マクロ使用程度でできたら、と思っています。 エクセルのバージョンは2003です。

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

  • ベストアンサー
回答No.2

VBAではないのですが、オートシェイプを移動させるのに私なりに探したやり方です。 移動ではなくオートシェイプを入れ替えて○の位置を変えてみる方法です。 過去ログの「質問:Excelでリストボックスよりオブジェクトを表示させたい」 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1454588 を応用して、○の位置の違う図を用意して血液型に重ねてはいかがでしょうか。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1454588
inagontake
質問者

お礼

回答ありがとうございます。 これならば、なんとか使えそうです。 早速試してみたいと思います。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

関数ではオブジェクト(シェイプなど)の移動はできません。関数は値を扱うものですから、原理的に無理です。 値である丸付き文字や記号を扱えば動いたように見せられるケースはあるかもしれないが。 エクセルではマクロはエクセルVBAです。同じもののはずです。 アクセスだけが異色で、マクロという分野があります。 エクセルVBAを使わないとできないと思います。

inagontake
質問者

お礼

回答ありがとうございます。 マクロとVBAが同じ物というのはなんとなくそうなのかな… とは思ってましたが、やはりそうなんですか。 マクロで自動的(と言っていいのかわかりませんが)に 記憶させて、後でVisual Basic Editorで簡単な値などを 変えたりした事はあるのですが、一からVisual Basic Editorで…となるとわかりません。 VBAを使用すれば、可能なのでしょうか? 可能ならば、セルに値を入力したことでVBAが実行される という事は可能でしょうか?

関連するQ&A