Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6
Default Selecting most of very many programmatically

I've been struggling with this for days, and this group is my last hope.

I need to select a large subset of autoshapes from a larger set of the
autoshapes in a worksheet. I tried recording a macro, to see how
the selection process gets coded by Excel. But the business end
of the macro is:

ActiveSheets.Shapes.Range(Array(...)).select

where ... is a list of variants containing the name-property values of the
autoshapes, separated by commas.

I can fill an array of variants with the name-property values of interest.
But for the life of me I can't get the array of variants into the argument
field of the Array function.

Is there some simple way of selecting many shapes from a larger set of
shapes and doing so programmatically? I just don't have much hair
left that I can pull out any more.

Tony Rizzo


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Selecting most of very many programmatically

Sub SelectSubset()
Dim v() As Variant
v = Array("Rectangle 2", "Oval 5")
ActiveSheet.Shapes.Range(v).Select
End Sub

worked for me. The declaration

Dim v() as Variant

was important.

this also worked:

Sub SelectSubset()
Dim v() As Variant
ReDim v(0 To 1)
v(0) = "Rectangle 2"
v(1) = "Oval 5"
ActiveSheet.Shapes.Range(v).Select
End Sub

--
Regards,
Tom Ogilvy


"Tony Rizzo" wrote in message
...
I've been struggling with this for days, and this group is my last hope.

I need to select a large subset of autoshapes from a larger set of the
autoshapes in a worksheet. I tried recording a macro, to see how
the selection process gets coded by Excel. But the business end
of the macro is:

ActiveSheets.Shapes.Range(Array(...)).select

where ... is a list of variants containing the name-property values of the
autoshapes, separated by commas.

I can fill an array of variants with the name-property values of interest.
But for the life of me I can't get the array of variants into the argument
field of the Array function.

Is there some simple way of selecting many shapes from a larger set of
shapes and doing so programmatically? I just don't have much hair
left that I can pull out any more.

Tony Rizzo




  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,253
Default Selecting most of very many programmatically


what you can also do is expanding
a selection by setting the replace argument to false..

Sub SubSet()
Dim shp As Shape
Dim sel As DrawingObjects

Application.ScreenUpdating = False
ActiveCell.Select
For Each shp In ActiveSheet.Shapes
If shp.AutoShapeType = msoShapeOval Then
shp.Select False
End If
Next
Set sel = Selection
Application.ScreenUpdating = True

End Sub



--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


Tom Ogilvy wrote :

Sub SelectSubset()
Dim v() As Variant
v = Array("Rectangle 2", "Oval 5")
ActiveSheet.Shapes.Range(v).Select
End Sub

worked for me. The declaration

Dim v() as Variant

was important.

this also worked:

Sub SelectSubset()
Dim v() As Variant
ReDim v(0 To 1)
v(0) = "Rectangle 2"
v(1) = "Oval 5"
ActiveSheet.Shapes.Range(v).Select
End Sub

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Selecting Embedded charts in Active Sheets programmatically Barb Reinhardt Charts and Charting in Excel 5 January 15th 06 02:36 PM
How do I programmatically specify a range. Hari[_3_] Excel Programming 4 January 17th 05 03:31 PM
delete row programmatically Pat Excel Programming 2 September 2nd 04 09:11 PM
Programmatically Add Reference` keepitcool Excel Programming 1 September 16th 03 05:30 PM
Selecting Rows Programmatically Aaron Lampkin Excel Programming 1 September 5th 03 01:42 PM


All times are GMT +1. The time now is 09:07 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"