View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Monshi Monshi is offline
external usenet poster
 
Posts: 6
Default Place a picture at copy

Thanks for the reply.
The problem is to identify wich shape I have added to the sheet, I don't
know the name of the shape. How could I know the name?

I have found that that the last added shape is the last shape found in the
collection Shapes (quite logical), i.e.
Set myPic = Sheets("mySheet").Shapes(Sheets("mySheet").Shapes. Count))
sets myPic to the shape I have just added to the sheet.

But still - not the way I would like to go to find the shape, should be able
to adress it directly.

Placing the shape once I have a refernce to it is no problem.

And - sorry about the double post.

/T
"zz" wrote:

you could create a variable, let's say NewShapeName and assing it the value
of the name of your recently pasted shape

then when you need to use your shape's name you would do somethin like this

sheets("Blad1").shapes(NewShapeName).top= 300



"Monshi" wrote in message
...
Just learned hidden language elements are deprecated elements... Instead
of
picture I now use Shape. I copy the range as an image and pastes is as a
shape.

The only problem now is how do I find a reference to the new shape on the
sheet? Paste operation only returns True or False, no help there.

Yours


"Monshi" wrote:

Trying to smoothly copy a range of cells as a picture and temporarily
show it
on another sheet in the workbook.
Is it possible to place it at the time of copy? I have found two ways to
postition the image:
1: Select a cell before paste, upper left corner of picture will be
placed
at cell. cumebersome since I want to center the image on an object in the
worksheet.


2: Paste the picture and afterwards set the top and the left of the
picture.
This causes the image to jump on the sheet. Can use
Application.ScreenUpdating to hide the jump but then Excel flickers.
My code:
Private myPic As Excel.Picture
Range("rnTryCpy").Copy
Set myPic = Sheets("Blad1").Pictures.Paste

Place:
(before paste)
WorkSheets("Blad1").Range("p15").Select
or
(after paste)
myPic.Left = WorkSheets("Blad1").Range("p15").Left - myPic.Width / 2
myPic.Top = WorkSheets("Blad1").Range("p16").Top

It is not always range P15 I want to center to, in actual the center is
provided at the call to the function which do the copy.

Is there a way to specify the paste position other than those two?

And WHY is part of help in VBA-editor hidden? Hidden Language Element?
Why?

Pls