ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   select and delete all pictures in a given range (https://www.excelbanter.com/excel-programming/404480-select-delete-all-pictures-given-range.html)

the excel-arator[_2_]

select and delete all pictures in a given range
 
I would like to be able to have VBA for excel delete all the pictures on a
given worksheet, but only in a certain range of that sheet. Is this possible?
ie. delete the pictures found only in the range A5:C25

Worksheets("Sheet2").Range("A5:C25").Shapes.Select All
Selection.Delete

'That baby doesn't work, but is there perhaps something similar that might
do the trick?

Any help is appreciated,

Thanks!

John

Gary''s Student

select and delete all pictures in a given range
 
Pictures "float" above the cells.

But you can find if they "hide" cells:

http://groups.google.com/group/micro...539a3aca31dcd7
--
Gary''s Student - gsnu200765


"the excel-arator" wrote:

I would like to be able to have VBA for excel delete all the pictures on a
given worksheet, but only in a certain range of that sheet. Is this possible?
ie. delete the pictures found only in the range A5:C25

Worksheets("Sheet2").Range("A5:C25").Shapes.Select All
Selection.Delete

'That baby doesn't work, but is there perhaps something similar that might
do the trick?

Any help is appreciated,

Thanks!

John


Peter T

select and delete all pictures in a given range
 
Delete all pictures partly or entirely within A5:C25 on Sheet2 of
activeworkbooik -

Sub test()
Dim s As String
Dim pic As Picture
Dim rng As Range

' Set ws = ActiveSheet
Set ws = ActiveWorkbook.Worksheets("Sheet2")

Set rng = ws.Range("A5:C25")

For Each pic In ActiveSheet.Pictures
With pic
s = .TopLeftCell.Address & ":" & .BottomRightCell.Address
End With
If Not Intersect(rng, ws.Range(s)) Is Nothing Then
pic.Delete
End If
Next

End Sub

Regards,
Peter T

"the excel-arator" wrote in
message ...
I would like to be able to have VBA for excel delete all the pictures on a
given worksheet, but only in a certain range of that sheet. Is this

possible?
ie. delete the pictures found only in the range A5:C25

Worksheets("Sheet2").Range("A5:C25").Shapes.Select All
Selection.Delete

'That baby doesn't work, but is there perhaps something similar that might
do the trick?

Any help is appreciated,

Thanks!

John




the excel-arator[_2_]

select and delete all pictures in a given range
 
Just what I needed, thanks!

"Peter T" wrote:

Delete all pictures partly or entirely within A5:C25 on Sheet2 of
activeworkbooik -

Sub test()
Dim s As String
Dim pic As Picture
Dim rng As Range

' Set ws = ActiveSheet
Set ws = ActiveWorkbook.Worksheets("Sheet2")

Set rng = ws.Range("A5:C25")

For Each pic In ActiveSheet.Pictures
With pic
s = .TopLeftCell.Address & ":" & .BottomRightCell.Address
End With
If Not Intersect(rng, ws.Range(s)) Is Nothing Then
pic.Delete
End If
Next

End Sub

Regards,
Peter T



[email protected]

select and delete all pictures in a given range
 
On Jan 17, 5:17 pm, "Peter T" <peter_t@discussions wrote:
Delete all pictures partly or entirely within A5:C25 on Sheet2 of
activeworkbooik -

Sub test()
Dim s As String
Dim pic As Picture
Dim rng As Range

' Set ws = ActiveSheet
Set ws = ActiveWorkbook.Worksheets("Sheet2")

Set rng = ws.Range("A5:C25")

For Each pic In ActiveSheet.Pictures
With pic
s = .TopLeftCell.Address & ":" & .BottomRightCell.Address
End With
If Not Intersect(rng, ws.Range(s)) Is Nothing Then
pic.Delete
End If
Next

End Sub

Regards,
Peter T

"the excel-arator" wrote in
...

I would like to be able to have VBA for excel delete all the pictures on a
given worksheet, but only in a certain range of that sheet. Is this

possible?
ie. delete the pictures found only in the range A5:C25


Worksheets("Sheet2").Range("A5:C25").Shapes.Select All
Selection.Delete


'That baby doesn't work, but is there perhaps something similar that might
do the trick?


Any help is appreciated,


Thanks!


John


perfect one!! kudos to your knowledge.. this worked perfect for me
too!!! Hip hip hurray!!

Peter T

select and delete all pictures in a given range
 
see important correction below -

wrote in message
...
On Jan 17, 5:17 pm, "Peter T" <peter_t@discussions wrote:
Delete all pictures partly or entirely within A5:C25 on Sheet2 of
activeworkbooik -

Sub test()
Dim s As String
Dim pic As Picture
Dim rng As Range

' Set ws = ActiveSheet
Set ws = ActiveWorkbook.Worksheets("Sheet2")

Set rng = ws.Range("A5:C25")

For Each pic In ActiveSheet.Pictures
With pic
s = .TopLeftCell.Address & ":" & .BottomRightCell.Address
End With
If Not Intersect(rng, ws.Range(s)) Is Nothing Then
pic.Delete
End If
Next

End Sub

Regards,
Peter T


<snip

perfect one!! kudos to your knowledge.. this worked perfect for me
too!!! Hip hip hurray!!


And now two satisfied customers....

But after a glance at the code as posted I regret to advise there is an
error. It would only become apparent if not dealing with the activesheet.

Please change
For Each pic In ActiveSheet.Pictures
to
For Each pic In ws.Pictures

Regards,
Peter T







All times are GMT +1. The time now is 07:16 PM.

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