ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Why does Excel think it's "Picture 7" instead of "Picture 1?" (https://www.excelbanter.com/excel-programming/413896-why-does-excel-think-its-picture-7-instead-picture-1-a.html)

crimsonkng

Why does Excel think it's "Picture 7" instead of "Picture 1?"
 
Here's a small portion of my macro:

Sheets("Result").Select
Rows("1:4").Select
Selection.Insert Shift:=xlDown
Range("E4").Select
ActiveSheet.Pictures.Insert("C:\v1logo.gif").Selec t
Selection.ShapeRange.IncrementLeft -12#
Selection.ShapeRange.IncrementTop -19.5
ActiveSheet.Shapes("Picture 1").Select
Selection.ShapeRange.IncrementLeft -20.25
Selection.ShapeRange.IncrementTop -0.75
Range("A1").Select

After years of using this, all of the sudden, I'm getting an error at the
8th line, above:
ActiveSheet.Shapes("Picture 1").Select

Excel can't find Picture 1 because, for some reason, the v1logo.gif file is
called Picture 7. Yesterday, Excel thought it was Picture 4. But for years
and years, it's been inserted as Picture 1 so there was never any problem.

I closed Excel and reopened it, thinking that it would think that it would
"reset" to Picture 1, but it didn't.

Any idea how to overcome this error? In the macro, can I call Picture "X"
instead of a specific Picture number? Or, can I say "whatever picture was
just inserted?"

Thanks.


Dave Peterson

Why does Excel think it's "Picture 7" instead of "Picture 1?"
 
Maybe you can just use a variable to represent the picture when you insert it.
Then you don't have to worry about its name:

Dim myPict As Picture
Set myPict = ActiveSheet.Pictures.Insert("C:\my pictures\hunter.jpg")

'delete any existing picture with that name????
On Error Resume Next
ActiveSheet.Pictures("Picture 1").Delete
On Error Resume Next

With myPict
'rename it???
.Name = "Picture 1"
With .ShapeRange
.IncrementLeft -12#
.IncrementTop -19.5
.IncrementLeft -20.25
.IncrementTop -0.75
End With
End With



crimsonkng wrote:

Here's a small portion of my macro:

Sheets("Result").Select
Rows("1:4").Select
Selection.Insert Shift:=xlDown
Range("E4").Select
ActiveSheet.Pictures.Insert("C:\v1logo.gif").Selec t
Selection.ShapeRange.IncrementLeft -12#
Selection.ShapeRange.IncrementTop -19.5
ActiveSheet.Shapes("Picture 1").Select
Selection.ShapeRange.IncrementLeft -20.25
Selection.ShapeRange.IncrementTop -0.75
Range("A1").Select

After years of using this, all of the sudden, I'm getting an error at the
8th line, above:
ActiveSheet.Shapes("Picture 1").Select

Excel can't find Picture 1 because, for some reason, the v1logo.gif file is
called Picture 7. Yesterday, Excel thought it was Picture 4. But for years
and years, it's been inserted as Picture 1 so there was never any problem.

I closed Excel and reopened it, thinking that it would think that it would
"reset" to Picture 1, but it didn't.

Any idea how to overcome this error? In the macro, can I call Picture "X"
instead of a specific Picture number? Or, can I say "whatever picture was
just inserted?"

Thanks.


--

Dave Peterson

crimsonkng

Why does Excel think it's "Picture 7" instead of "Picture 1?"
 
Worked perfectly. Thanks, Dave. Yer a pal.

"Dave Peterson" wrote:

Maybe you can just use a variable to represent the picture when you insert it.
Then you don't have to worry about its name:

Dim myPict As Picture
Set myPict = ActiveSheet.Pictures.Insert("C:\my pictures\hunter.jpg")

'delete any existing picture with that name????
On Error Resume Next
ActiveSheet.Pictures("Picture 1").Delete
On Error Resume Next

With myPict
'rename it???
.Name = "Picture 1"
With .ShapeRange
.IncrementLeft -12#
.IncrementTop -19.5
.IncrementLeft -20.25
.IncrementTop -0.75
End With
End With



crimsonkng wrote:

Here's a small portion of my macro:

Sheets("Result").Select
Rows("1:4").Select
Selection.Insert Shift:=xlDown
Range("E4").Select
ActiveSheet.Pictures.Insert("C:\v1logo.gif").Selec t
Selection.ShapeRange.IncrementLeft -12#
Selection.ShapeRange.IncrementTop -19.5
ActiveSheet.Shapes("Picture 1").Select
Selection.ShapeRange.IncrementLeft -20.25
Selection.ShapeRange.IncrementTop -0.75
Range("A1").Select

After years of using this, all of the sudden, I'm getting an error at the
8th line, above:
ActiveSheet.Shapes("Picture 1").Select

Excel can't find Picture 1 because, for some reason, the v1logo.gif file is
called Picture 7. Yesterday, Excel thought it was Picture 4. But for years
and years, it's been inserted as Picture 1 so there was never any problem.

I closed Excel and reopened it, thinking that it would think that it would
"reset" to Picture 1, but it didn't.

Any idea how to overcome this error? In the macro, can I call Picture "X"
instead of a specific Picture number? Or, can I say "whatever picture was
just inserted?"

Thanks.


--

Dave Peterson



All times are GMT +1. The time now is 03:57 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com