|
Jakaさん、BOTTA さん!
どうもありがとー!
解決したみたいです。
>>画像には、1〜5の連番で名前がついています。
>↑これがよろしくないんじゃぁないかしら?
>VBAでは時々、自動で型変換してくれるという大きなお世話機能があります。
>だから、
> .Shapes(CStr(i))
>を勝手に
> .Shapes(i)
>と変換してしまっているとか???
>
>だから、引数Indexに図形の名前を指定したい場合はJakaさんの様に
> .Shapes("四角形 " & CStr(i))
>ちゃんとした文字列にした方がいいかも。
>
>ちなみに私の環境でも名前定義を数値でつけられない場合もありました。
>
>ついでに
> .Shapes(i).ZOrder msoBringToFront
>とやってしまった場合、ZOrderが入れ替わるたびにIndex番号が更新され
>てしまうため、どのShapesが現れるかは動かすまでわからなかったみたい。
そのとおりのようでした。
お二人のアドバイスの通り、完全に文字列にしてしまったら、毎回ちゃんと動きました。
「CStr」だけではだめだったんですね・・・
どうもありがとうございました(^o^)ノ
|
|