![]() |
![]() |
|
|||||||
| Excel Questions All Excel/VBA questions - formulas, macros, pivot tables, general help, etc. Please post to this forum in English only. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Board Regular
Join Date: Mar 2002
Location: Sydney/Brisbane , Australia
Posts: 539
|
How do i select all pictures in a worksheet and delete them using VBA.
|
|
|
|
|
|
#2 |
|
MrExcel MVP
Join Date: Feb 2002
Location: Allentown, PA
Posts: 2,510
|
ActiveSheet.DrawingObjects.Select
Selection.Delete
__________________
~Anne Troy |
|
|
|
|
|
#3 |
|
MrExcel MVP
Join Date: Feb 2002
Location: Central Florida, USA
Posts: 7,541
|
This is a sample of some code I use to add a photo file to an Excel photo database. You may get started with some code of your own?
Excel renames photo objects so the code is not too easy to work with! JSW Sub s_Photos() 'Adds a photo below the last photo if any. Application.ScreenUpdating = False Range("D65536").End(xlUp).Offset(4, -2).Select ActiveCell.RowHeight = 118.5 ActiveCell.ColumnWidth = 32.43 Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThick .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThick .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThick .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThick .ColorIndex = xlAutomatic End With myFile = Application.InputBox("Enter your, ""Drive:PathFile.jpg"" for your Photo." _ & Chr(13) & Chr(13) & " Like, C:MyFilesJSWExcelFOREST03.JPG" & Chr(13) & Chr(13) _ & " In the box below!", Title:="Please indicate the photo location!" _ , Default:="C:MyFilesJSWExcelFOREST03.JPG") On Error GoTo Kil 'ActiveSheet.Pictures.Insert("C:MyFilesJSWExcelFOREST03.JPG").Select ActiveSheet.Pictures.Insert(myFile).Select Selection.ShapeRange.ScaleHeight 0.34, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.ScaleWidth 0.33, msoFalse, msoScaleFromTopLeft With Selection .Placement = xlMoveAndSize .PrintObject = True End With ActiveCell.Offset(0, 2).Select Selection.Interior.ColorIndex = xlNone With Selection .HorizontalAlignment = xlLeft .VerticalAlignment = xlTop .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .MergeCells = False End With ActiveCell.FormulaR1C1 = "Photo: " With ActiveCell.Characters(Start:=1, Length:=8).Font .Name = "Arial" .FontStyle = "Regular" .Size = 10 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With Range("A1").Select Application.ScreenUpdating = True Kil: Range("A1").Select Application.ScreenUpdating = True End Sub |
|
|
|
|
|
#4 | |
|
MrExcel MVP
Join Date: Feb 2002
Location: Auckland, New Zealand
Posts: 4,209
|
Quote:
I beleive he wants to delete only pictures If so then; Sub DeletePicts() Dim Pict As Object For Each Pict In ActiveSheet.Shapes If Pict.Type = 13 Then Pict.Delete End If Next End Sub Ivan |
|
|
|
|
|
|
#5 |
|
Board Regular
Join Date: Mar 2002
Location: Sydney/Brisbane , Australia
Posts: 539
|
thanks guys,
i have used dreamboats code , and ivans update to it to get the result required. I have now got reports printing. woo hoo. never know. i might finish this program by july and have it operating around Australia. Thank you again. |
|
|
|
![]() |
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|