View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Jacob Skaria Jacob Skaria is offline
external usenet poster
 
Posts: 8,520
Default Type mismatch error

Ofcourse you can ... as Shape

Activesheet.Shapes is a collection

If this post helps click Yes
---------------
Jacob Skaria


"Jive" wrote:

Thank you Jacob that works now.

I know a shape is an object but why cant i refer to it as a shape?

"Jacob Skaria" wrote:

You should be referring to the object as below

Dim Piece As Object
For Each Piece In ActiveSheet.Shapes
CurrentTop = Piece.Top
CurrentLeft = Piece.Left
Piece.Top = 540 - CurrentTop
Piece.Left = 540 - CurrentLeft
Next Piece

If this post helps click Yes
---------------
Jacob Skaria


"Jive" wrote:

Hi I am getting a type mismatch error back on line 2 of the script below. I
have already made a workaround but this is a much neater way of getting the
code to work if i can. I lack understanding of this method and have only
applied it in a couple cases before now so any help would be much appreciated.

Dim Piece As Shapes
For Each Piece In ActiveSheet.Shapes
CurrentTop = Piece.Top
CurrentLeft = Piecee.Left
Piece.Top = 540 - CurrentTop
Piece.Left = 540 - CurrentLeft
Next Piece