こんにちは!Lenocoです。本日も見てくださりありがとうございます。
今回は図形のループについてのTips回です!!!
図形のループ
図形のループって、なんだか分かりづらいんですよね。
さらにグループ化されている図形の中の1つの図形を特定するなんてさらに混乱です!
今回、2つのループを使って図形を一つずつ見ていきたいと思います。
以下の図形を用意しました。②と④の図形は、矢印の図形をグループ化した図形となっています。
以下のコードを回すとどうなるでしょうか。F8で一つずつ動かしてみます。
コード
Sub Sample()
Dim sha As Shape
Dim gSha As Shape
For Each sha In Sheets("Sheet3").Shapes
sha.Select
If sha.Type = msoGroup Then
For Each gSha In sha.GroupItems
gSha.Select
Next gSha
End If
Next sha
End Sub
コードの説明
動きを説明します。
1週目の外側のループで、①の図形が選択されます。
この図形はグループ化されていないのでIf文には入りません。
2週目の外側のループで、③の図形が選択されます。
こちらもグループ化されていないのでIf文には入りません。
3週目の外側のループで、②の図形が選択されます。
グループ化されている図形なのでIf文にはいります。
1週目の内側のループで、②の図形の丸の図形が選択されます。
2週目の内側のループで、②の図形の矢印の図形が選択されます。
内側のループを抜けます。
4週目の外側のループで、④の図形が選択されます。
グループ化されている図形なのでIf文にはいります。
1週目の内側のループで、④の図形の平行四辺形の図形が選択されます。
2週目の内側のループで、④の図形の矢印の図形が選択されます。
内側のループを抜けます。
外側のループを抜けます。
・・・という動きになります。
※ループで図形を読み込む順番は、図形を作成した順番によって変わるかもしれません。
図形のループはややこしいですが、少しずつ整理して理解していきましょう!
Lenoco