Hi potential helpers

I have what I think is a simple problem but can't work out how to solve it.

I am writing a program that makes extensive use of only a handful of images. At the moment my program can insert the image to a cell, and resize it. But doing this often 100's of times during run is taking ages, and I think, since it already exists and is named within the workbook, that it would be far more economical to make copies of the image (and then paste and resize where-ever I want them) rather than insert a new image everytime from it's root directory

EG if I have an image, which I have named 'fork' in sheet1, and want to copy and paste it to sheet2 in cell A1, and resize it, is there code to do that?

So, instead of Something like this (which inserts perfectly for me)

PicName = "fork"
With ActiveSheet.Pictures
With .Insert("C:\Lots of root directories\" & PicName & ".png")
With .ShapeRange
.LockAspectRatio = msoTrue
.Width = 40
.Height = 32
End With
.Left = Cells(1, 1).Left
.Top = Cells(1, 1).Top
.PrintObject = True
.Placement = xlMove
End With
End With

Can I avoid inserting the image from root by copying it from another part of the workbook (and I know this is not accurate code)

With sheet1("fork").copy ' "fork" is the name I gave the image
.copy
.paste destination:- cells(1,1)
With .ShapeRange
.LockAspectRatio = msoTrue
.Width = 40
.Height = 32
End With
.Left = Cells(1, 1).Left 'These two lines prob not needed if already pasted into location above
.Top = Cells(1, 1).Top
.PrintObject = True
.Placement = xlMove
End With

Any help would be greatly appreciated, and as thanks I will sing and dance around my room chanting "(Your name) is a legend!"

Thank you in advance
Gav