Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Formularschaltflächen in zwei Tabellen löschen
#1
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
Antworten Top
#2
Hallo Ebi,

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

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

Gruß Silcono
Antworten Top
#3
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?
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#4
Hallöchen,

sofern nach dem Kopieren eines Blattes selbiges das aktive ist, kannst Du nach jedem einzelnen Kopieren auch mit ActiveSheet löschen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
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
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#6
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#7
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 ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste