• ベストアンサー

エクセル2000でセルの条件によってオートシェイプの順序をかえたい

仕事で工事の完成写真を電子データで登録しているのですが JPEGでーたの写真の上に、施工範囲をオートシェイプを使って表示 させています。 以前は、写真の上に半透明の紙を付け、それに赤鉛筆でマーキングしていました。同じような方法で、エクセルにJPEG画像をはりつけその上にオートシェイプで半透明にして施工範囲を囲んでいます。 写真の横くらいに、施工範囲網掛けの有無を選択できるセルをつくり その内容によって、マーキングが見えたり、見えなかったりするようにしたいのですが、可能でしょうか。オートシェープの順序を条件により変えられれば出来そうな気がするのですが。 ちなみにマクロを使うと、登録が出来ないので、マクロ以外で対応したいのですが。よろしくご教授ねがいます。

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

  • ベストアンサー
  • pauNed
  • ベストアンサー率74% (129/173)
回答No.1

こんにちは。 オートシェイプの順序を変えるのではなく、 『図』に表示させるセル位置を変える事で対応できそうですが、 かなり面倒です。 写真とオートシェイプの組の数だけ、『図』と[名前定義]が必要になります。 大量の組には向いていないと思います。 1)写真とオートシェイプがあるシートをSheet1とします。 2)作業シートをSheet2とします。 3)Sheet2のセル1個が写真と同じ大きさくらいになるように行幅列高を設定してください。 4)Sheet1の写真にかぶせたシェイプ(既に作成済みと仮定)を切取り、Sheet2のA1に貼り付ける。 5)Sheet2のA2セルをコピー、Sheet1を選択して[Shift]キー押しながら[編集]-[図の貼り付け]。  貼り付けられた『図』を写真の上に配置する。 6)Sheet1の『A1』セルに 1 と入力されたらシェイプが表示されるようにするには、 7)[Ctrl]+[F3]の[名前定義]で、  「名前」 shape1  「参照範囲」=IF(Sheet1!$A$1,Sheet2!$A$1,Sheet2!$A$2)  とします。 8)(5)で作成した『図』を選択して、数式バーに =shape1 9)Sheet1のA1セルに 1 と入力。 ...こんな感じになります。(もっと良いやり方があるかもしれませんが、参考まで) また、 >マクロを使うと、登録が出来ない ...この意味が読み取れないので何とも言えないですが、 写真やシェイプを選択した上で、ショートカットキーでマクロ実行という事もできます。 もし、マクロを別Bookに分けたり、アドイン化したりするなら構わないという事であれば、 If VarType(Selection) = vbObject Then Selection.ShapeRange.ZOrder msoSendToBack と1行で済みます。

HKohmura
質問者

お礼

回答ありがとうございました。 やっぱり難しいのですね。 マクロが使ってあるファイルは、管理サーバーへの登録が禁止されており、安全性の観点からシステム管理者が許可してくれません。 教えていただいた方法で試してみます。

関連するQ&A