View Single Post
  #8   Report Post  
Posted to microsoft.public.excel.programming
Rodby Rodby is offline
external usenet poster
 
Posts: 8
Default Macro Error that I connot figure out

Thanks, I will try the suggested statement. As far as "manually" ungrouping,
this goes far beyond what I know how to do, but I will try the Excel help
function.

Thanks again

"Hakyab" wrote:

Your error is probably related to the bug I mentioned. Try to observe the
value of

ActiveSheet.Shapes(1).GroupItems(myNumber).Child

This ought to be 1, describing the shape as part of a group. If this is like
the error I encountered, you will see a 0 here, hence as far as VBA is
concerned, there is no parent group.

My trials indicate that if you copy and paste the group of shapes to another
sheet, you get this bug. If this is the case, do ungrouping and gouping
manually once on the new sheet and try again.

HTH

"Rodby" wrote:

I tried you suggestion, but I got an error message: The object does not
support the property or method.

"Hakyab" wrote:

I believe s.parent returns the worksheet, probably s.parent.parent is the
workbook.

You want to use s.parentgroup to get the entie shape group.

I posted a problem with shape groups earlier, which did not get any
attention. There may be a bug with this object.

Best,

"Rodby" wrote:

I am trying to teach myself VBA using Step by Step by Reed Jacobson.
There is a chapter on graphical objects, and in one macro he shows how to
set up an "active map" forma generic state map
Here is the macro:
Sub MakeMapButtons()
Dim s As Shape
myNumber = 3
myName = "oregon"
myCaption = "OR"
myColor = 9
Set s = ActiveSheet.Shapes(1).GroupItems(myNumber)
's.Select
s.Name = myName
s.Fill.ForeColor.ObjectThemeColor = myColor
s.ThreeD.BevelTopDepth = 6
s.TextFrame2.TextRange = myCaption
s.TextFrame2.HorizontalAnchor = msoAnchorCenter
s.TextFrame2.VerticalAnchor = msoAnchorMiddle
s.TextFrame2.TextRange.Font.Size = 20
s.TextFrame2.TextRange.Font.Bold = msoTrue
s.TextFrame2.TextRange.Font.Fill.ForeColor.ObjectT hemeColor =
msoThemeColorLight1
s.Fill.OneColorGradient msoGradientHorizontal, 1, 0
s.TextFrame2.TextRange.Font.Reflection.Type = msoReflectionType5
s.Parent.Parent.Ungroup
s.OnAction = ThisWorkbook.Name & "!StateButton"
s.DrawingObject.ShapeRange.Regroup

Everything works fine until the third line from the bottom:
s.Parent.Parent.Ungroup

I get an error message saying that the object does not support this property.
I copied this program from his answer file and pasted it directly into the
macro shell, so I know that I did not make a typing error, but it still hangs
up.

Any thoughts?