[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同じ名前の図形を区分して選択したい』(x11eUser)
同じ名前を持つ図形が複数あったとき、図形の名前で選択すると、IDの最も小さい 図形のみ選択されてしまいます。 以下のプログラムはセル位置で10行目より下にある図形を選択するものですが、 IDが小さい同じ名前の図形が10行目より上にあるとそちらが選択されてしまいます。 意図した図形を選択することはできるでしょうか。 また、同じ名前の図形は1つしか選択されませんが、条件の合う全ての図形を 選択することはできるでしょうか。 Sub XXX() Dim xShapeTBL() Dim xShape Dim j As Long j = 0 For Each xShape In ActiveSheet.Shapes If xShape.TopLeftCell.Row > 10 Then ReDim Preserve xShapeTBL(j) xShapeTBL(j) = xShape.Name j = j + 1 End If Next If IsArray(xShapeTBL) Then ActiveSheet.Shapes.Range(xShapeTBL).Select End If End Sub
Shapes.RangeにはShapesコレクションのIndexでも対応できるので Indexでループするように変更してみるとどうでしょうか
Sub XXX() Dim xShapeTBL() Dim i As Long Dim j As Long j = 0 For i = 1 To ActiveSheet.Shapes.Count If ActiveSheet.Shapes.Item(i).TopLeftCell.Row > 10 Then ReDim Preserve xShapeTBL(j) xShapeTBL(j) = i j = j + 1 End If Next If IsArray(xShapeTBL) Then ActiveSheet.Shapes.Range(xShapeTBL).Select End If End Sub
(momo)
ありがとうございます。 Indexが使えるということに思いつきませんでした。 問題となっていたことも完璧に解決できました。 感激ものです。本当にありがとうございます。
(x11eUser)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.