3.9k Aufrufe
Gefragt in Tabellenkalkulation von twototoulouse Mitglied (130 Punkte)
Hallo, ihr fleißigen Helfer!
Ist es möglich, in excel alle Grafiken in mehreren Arbeitblättern gleichzeitig zu löschen?

15 Antworten

0 Punkte
Beantwortet von twototoulouse Mitglied (130 Punkte)
Hi Karin!
Ich habe jetzt nicht so den großen Durchblick. Meine Grafik ist ein logo, dass ich ein mal auf jedem Arbeitsblatt als jpg eingefügt habe.Diese logos wollte ich gerne mit einem Mal von jedem Arbeitsblatt löschen. Auf dem ersten Arbeitsblatt habe ich allerdings 12 Steuerelemente ( Command Buttons , aus der Steuerelemente-Toolbox), die ich unbedingt brauche. Unter was die gespeichert sind habe ich keine Ahnung.
Gruß
twototoulouse
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

wenn es alles CommandButton sind, dann könnte man es so lösen:

For Each shaShape In WsTabelle.Shapes
If shaShape.Type <> 12 Then shaShape.Delete
Next


Bis später,
Karin
0 Punkte
Beantwortet von twototoulouse Mitglied (130 Punkte)
Hi Karin!
Habe das Makro wie folgt eingefügt:
Sub Loeschen2()
Dim WsTabelle As Worksheet
Dim shaShape As Shape
Application.ScreenUpdating = False
For Each WsTabelle In Worksheets
For Each shaShape In WsTabelle.Shapes
If shaShape.Type <> 12 Then shaShape.Delete
Next
Next WsTabelle
Application.ScreenUpdating = True
End Sub

Leider sind die CommandButtons auch weg,
Das Arbeitsblatt, auf dem die CommandButtons sind heißt "Lieferscheine". Die anderen Arbeitsblätter heißen "Rechnung Januar", "Rechnumg Februar" usw. bis Dezember.
Vielleicht kann man das Arbeitsblatt "Lieferscheine" aus dem Löschvorgang rausnehmen.
Gruß
twototoulouse
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

also ich kann das nicht bestätigen, dass mit dem Code ActiveX-CommandButton (Steuerelemente-Toolbox) gelöscht werden - es werden nur die Formular-Steuerelemente (genau so wie alle anderen Shapes) gelöscht.

Wenn ein Tabellenblatt vom Löschen ausgenommen werden soll und in den anderen alle Shapes, dann so:

Sub Loeschen3()
Dim WsTabelle As Worksheet
Application.ScreenUpdating = False
For Each WsTabelle In Worksheets
If WsTabelle.Name <> "Lieferscheine" Then
WsTabelle.Shapes.SelectAll
Selection.Delete
End If
Next WsTabelle
Application.ScreenUpdating = True
End Sub


Bis später,
Karin
0 Punkte
Beantwortet von twototoulouse Mitglied (130 Punkte)
Hallo Karin!
Wenn ich das Tabellenblatt "Lieferscheine" vom Löschen ausnehme, funktionierts. Vielen Dank für die Ausdauer.

An Hajo!
Auch vielen Dank für Deine Mühe!
...