[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAマクロで図形選択及び選択解除』(まこと)
マクロで描いた、赤色、青色、緑色の図形がそれぞれ複数個あります。 描いた後に、Forecolor.RGBをたよりに色ごとに図形を選択しグループ化します。 グループ化した後は、グループ名として例えば、赤、青、緑とグループの名前を付けます。 名づけしたあとは、この名前を元に名前でグループを選択したいです。
この手法を教えてください。よろしくお願いします。
EXCEL2010、Windows7
一例。(色番号は実際に設置したものに適宜変更)
Sub Sample1() Dim vntR(), vntB(), vntG() Dim cntR As Long, cntB As Long, cntG As Long Dim n As Long Dim sp As Shape Dim myColor As Long
n = ActiveSheet.Shapes.Count ReDim vntR(1 To n) ReDim vntB(1 To n) ReDim vntG(1 To n)
For Each sp In ActiveSheet.Shapes myColor = sp.Fill.ForeColor.RGB Select Case myColor Case vbRed cntR = cntR + 1 vntR(cntR) = sp.Name Case vbBlue cntB = cntB + 1 vntB(cntB) = sp.Name Case vbGreen cntG = cntG + 1 vntG(cntG) = sp.Name End Select Next
If cntR > 0 Then ReDim Preserve vntR(1 To cntR) If cntB > 0 Then ReDim Preserve vntB(1 To cntB) If cntG > 0 Then ReDim Preserve vntG(1 To cntG)
If cntR > 0 Then With ActiveSheet.Shapes.Range(vntR).Group .Name = "Group-Red" End With End If
If cntB > 0 Then With ActiveSheet.Shapes.Range(vntB).Group .Name = "Group-Blue" End With End If
If cntG > 0 Then With ActiveSheet.Shapes.Range(vntG).Group .Name = "Group-Green" End With End If
End Sub
(ぶらっと)
>名づけしたあとは、この名前を元に名前でグループを選択したいです。
みおとしてた。
Sub SelectRed() ActiveSheet.Shapes("Group-Red").Select End Sub
Sub SelectBlue() ActiveSheet.Shapes("Group-Blue").Select End Sub
Sub SelectGreen() ActiveSheet.Shapes("Group-Green").Select End Sub
(ぶらっと)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.