Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: bestimmte Shapes löschen

bestimmte Shapes löschen
28.07.2019 16:15:20
Alex
Hi,
habe folgendes geschrieben um bestimmte Shapes zu löschen die mit einem bestimmten Namen anfangen aber er tut nix: Woran liegts ? Danke
Sub delete_Shapes()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
If shp.Name Like "SpinButton*" Then
shp.Delete
ElseIf shp.Name Like "Schaltfläche*" Then
shp.Delete
ElseIf shp.Name Like "Kontrollkästchen*" Then
shp.Delete
End If
Next
End Sub

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bestimmte Shapes löschen
28.07.2019 16:24:51
EtoPHG
Hallo,
Das liegt ganz einfach daran, dass es im aktiven Blatt keine Shapes mit diesen Namen hat. Oder was meinst du?
Gruess Hansueli
Vielleicht heißen die Shapes
28.07.2019 16:25:02
Beverly
Hi,
...anders - möglicherweise musst du die englischen Bezeichnungen verwenden? Laufe doch mal in einer Schleife über alle Shapes und lass dir die Namen anzeigen.


Anzeige
AW: Vielleicht heißen die Shapes
28.07.2019 16:32:56
Alex
Die Spinbuttons werden gelöscht aber nicht die Shapes mit Shaltfläche und Kontrollkästchen.
Wenn ich auf einer dieser shapes klicke steht z.b. "Schaltfläche 345" oder "Kontrollkästchen 23" hmmm...
AW: Vielleicht heißen die Shapes
28.07.2019 16:57:43
Alex
Problem gelöst: Es lag an der deutschen Bezeichnung. Aber ich kann es nicht nachvollziehen da der Name auf deutsch steht.
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
If shp.Name Like "SpinButton*" Then
shp.Delete
ElseIf shp.Name Like "Button*" Then
shp.Delete
ElseIf shp.Name Like "Check Box*" Then
shp.Delete
End If
Next
End Sub

Anzeige
AW: Vielleicht heißen die Shapes
28.07.2019 17:31:10
Beverly
Die deutsche Bezeichnung - die man beim Anklicken sieht - ist das eine, aber intern haben die Shapes eben die englische Bezeichnung und da VBA englisch spricht, sind ihm deutsche Bezeichungen spanische Dörfer ;-)


AW: Vielleicht heißen die Shapes
28.07.2019 18:47:05
Daniel
Kleiner Tip hierzu:
bevor man da mit Programmieren anfängt, prüft man erstmal mit einem Kleinen Makro, wie die Shapes aus VBA-sicht heißen:
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
Debug.Print shp.Name
Next
End Sub
Gruß Daniel
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Bestimmte Shapes in Excel löschen


Schritt-für-Schritt-Anleitung

Um bestimmte Shapes in Excel zu löschen, kannst du ein einfaches VBA-Makro verwenden. Hier sind die Schritte, die du befolgen solltest:

  1. Öffne Excel und gehe zu dem Arbeitsblatt, aus dem du die Shapes löschen möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Kopiere den folgenden Code in das Modul:

    Sub delete_Shapes()
       Dim shp As Shape
       For Each shp In ActiveSheet.Shapes
           If shp.Name Like "SpinButton*" Then
               shp.Delete
           ElseIf shp.Name Like "Button*" Then
               shp.Delete
           ElseIf shp.Name Like "Check Box*" Then
               shp.Delete
           End If
       Next
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Drücke ALT + F8, wähle delete_Shapes aus der Liste und klicke auf Ausführen.

Mit diesem Makro werden alle Shapes, die mit "SpinButton", "Button" oder "Check Box" beginnen, gelöscht.


Häufige Fehler und Lösungen

Ein häufiger Fehler beim Löschen von Shapes in Excel ist, dass das Makro keine Shapes findet, die den angegebenen Namen haben. Hier sind einige Tipps zur Fehlerbehebung:

  • Shapes nicht gefunden: Stelle sicher, dass die Shapes tatsächlich im aktiven Blatt vorhanden sind. Überprüfe die Namen der Shapes mit folgendem Code:

    Dim shp As Shape
    For Each shp In ActiveSheet.Shapes
       Debug.Print shp.Name
    Next
  • Englische Bezeichnungen verwenden: Die Shapes können interne englische Bezeichnungen haben, auch wenn sie auf dem Arbeitsblatt auf Deutsch angezeigt werden. Stelle sicher, dass du die richtigen Namen verwendest.


Alternative Methoden

Wenn du keine VBA-Programmierung verwenden möchtest, gibt es auch alternative Methoden:

  1. Manuelles Löschen: Klicke auf die Shapes, die du löschen möchtest, und drücke die Entf-Taste.
  2. Formen über das Menü bearbeiten: Gehe zu Start > Formen, um die Formen zu sehen und sie einzeln zu löschen.

Praktische Beispiele

Hier sind einige praktische Szenarien, in denen du Shapes in Excel löschen möchtest:

  • Formulare: Wenn du ein Formular mit Kontrollkästchen und Schaltflächen erstellt hast und diese nicht mehr benötigst, kannst du das oben genannte VBA-Makro verwenden, um sie schnell zu entfernen.
  • Diagramme: Wenn du Diagramme erstellt hast und diese mit bestimmten Shapes versehen sind, kannst du die Shapes gezielt löschen, ohne die Diagramme zu beeinträchtigen.

Tipps für Profis

  • Makros speichern: Wenn du häufig Shapes löschen musst, speichere dein Makro in einer persönlichen Makroarbeitsmappe, damit du es in jeder Excel-Datei nutzen kannst.
  • Debugging: Nutze Debug.Print, um die Namen der Shapes vor dem Löschen anzuzeigen. So kannst du sicherstellen, dass du die richtigen Shapes anvisierst.

FAQ: Häufige Fragen

1. Warum kann ich bestimmte Shapes nicht löschen?
Es kann sein, dass die Shapes intern andere Bezeichnungen haben. Überprüfe die Namen mit dem Debugging-Code.

2. Was passiert mit den Shapes, wenn ich sie lösche?
Einmal gelöscht, können die Shapes nicht wiederhergestellt werden. Stelle sicher, dass du sie wirklich entfernen möchtest.

3. Funktioniert dieses Makro in allen Excel-Versionen?
Ja, das Makro sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige