Clever-Excel-Forum

Normale Version: Formularschaltflächen in zwei Tabellen löschen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen

Ich habe eine Arbeitsmappe (Datei1.xlsx) mit 4 Tabellen (Tabelle1, Tabelle2, Tabelle3, Tabelle4) und 1-3 Formular-Schaltflächen pro Tabelle.
Mittels Makro kopiere ich Tabelle1 & Tabelle 3 in eine neue Arbeitsmappe.
In dieser neuen Mappe sollen keine Formularschaltflächen mehr vorhanden sein.

Ich habe diesen Code gefunden, aber der löscht mir logischerweise nur die Schaltflächen aus einer, resp. der aktiven Tabelle raus.

Code:
For Each sp In ActiveSheet.Shapes
  sp.Delete
Next sp


Wie muss ich den Code ändern, wenn ich beide Tabellen berücksichtigen möchte?

Danke & Gruss
Ebi
Hallo Ebi,

versuche mal anstatt 'ActiveSheet' eine bestimmte Tabelle zu verwenden.

Sollte das funktionieren, kannst du es auf weitere Tabellen anwenden.

Gruß Silcono
Hallo,

Zitat:Wie muss ich den Code ändern, wenn ich beide Tabellen berücksichtigen möchte?

Dann mußt Du dem Makro klarmachen, in welchem Blatt das passieren soll.
Oder habe ich was falsch verstanden?
Hallöchen,

sofern nach dem Kopieren eines Blattes selbiges das aktive ist, kannst Du nach jedem einzelnen Kopieren auch mit ActiveSheet löschen.
Hallo,

vielleicht so?
Code:
Sub prcElementDelete()
   Dim wksBlatt As Worksheet
   Dim sp As Shape  'da ich deine Dekleration nicht kenne
  
   For Each wksBlatt In ThisWorkbook.Worksheets
      For Each sp In wksBlatt.Shapes
         sp.Delete
      Next sp
   Next wksBlatt
End Sub
Moin!
Nach Worksheet.Copy ist das kopierte Sheet IMMER das aktive.
Insofern reicht die Schleife der Threaderöffnung, so sie denn an der richtigen Code-Stelle platziert ist.
Allerdings ist diese bereits eine Woche alt, und ich glaube nicht an eine Fortführung dieses Threads.

Gruß Ralf
Hallo Ralf,

lasse den TE doch auch mal was herausfinden Smile Wichtig ist ja vor allem der zweite Teil meiner Antwort, der darauf aufbaut, wie Du richtigerweise erkannt und mit anderen Worten formuliert hast. Letztendlich ist meine Antwort auch eine Reaktion auf die zwei vorangehenden ...