|
こんにちは、またわからないことが出てきたのでお願いします。
画像を置いて説明文を書く、アルバムのようなものを作っています。
(EXCELでの作成は適さないかもしれませんが、VBAの練習を兼ねて作っています)
たとえばHPなんかで、街並みの写真があり、クリックすると同じ場所の昔の写真が表示され、再度クリックすると元の写真が出てくる新旧比較みたいなのがありますが、自分の写真を使ってそういうのを作成しています。
画像を二枚重ねにして上をクリックすると下に隠れてる画像が前面に出てくるように、下記のようなコードで作りました。
上にある画像に書いたコード----------------------------
Sub 写真の順番を変える()
ActiveSheet.Shapes("写真1").Select
Selection.ShapeRange.ZOrder msoSendToBack
End Sub
------------------------------------------------------
下になっている写真に書いたコード----------------------
Sub 写真の順番を変える()
ActiveSheet.Shapes("写真2").Select
Selection.ShapeRange.ZOrder msoSendToBack
End Sub
------------------------------------------------------
二枚ひと組なわけですが、こうするとたくさんの写真を使う場合
ひと組ずつコードを作成しなければいけません。(100組だったらコードが100)
ですが、
Selection.ShapeRange.ZOrder msoSendToBack
End Sub
だけにすると、プログラムを実行する前にいちいち写真をアクティブにしなければいけません。(マクロ登録してるからCtrl押しながら)
そんなこといちいちやってられないので、クリックだけでクリックした写真を最背面に移動するにはどうすればいいでしょうか?
あと、画面を開いたときには絶対に写真1が最前面に表示されるようにする方法も知りたいです。
|
|