Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1920to1924
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Schaltflächen mittels Makro entfernen

Schaltflächen mittels Makro entfernen
15.02.2023 08:31:20
Romy
Guten Morgen
Ich habe in einem Makro (welches mein Worksheet mit neuem Namen abspeichert, sowie geweisse Zeilen leert) den Zusatz die Schalfläche zu löschen. Was müsste ich ändern um mehrere Schaltflächen zu löschen. Die Schalflächen heissen jeweils: neuer Kunde speichern und blank zurücksetzten. Ich habs versucht mit den Namen, aber verwende wohl die falschen Trennzeichen. Anbei der Teil im Makro der die Schaltfläche löscht. Evt kann mir ja wer helfen. Danke im Voraus :)

With ActiveSheet
.Name = NeuName
.Shapes(1).Delete 'wenn es nur einen Button gibt
'.Shapes("Schaltfläche1").Delete 'sonst Name anpassen
End With

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schaltflächen mittels Makro entfernen
15.02.2023 08:41:07
ChrisL
Hi
Ich habe mal ein wenig mit dem Roboter geplaudert (ChatGPT im Forumstitel). Dies unter der Annahme, dass du gleich alle Buttons rausputzen möchtest.
excel vba alle befehlsschaltflächen in allen tabellenblättern einer datei entfernen
Um alle Befehlsschaltflächen in allen Tabellenblättern einer Excel-Datei mit VBA zu entfernen, können Sie den folgenden Code verwenden:
Sub RemoveAllButtons()
    Dim ws As Worksheet
    Dim btn As Button
    
    'Schleife durch jedes Tabellenblatt
    For Each ws In ThisWorkbook.Worksheets
        'Schleife durch jede Schaltfläche in dem Tabellenblatt
        For Each btn In ws.Buttons
            btn.Delete 'Löschen Sie die Schaltfläche
        Next btn
    Next ws
End Sub
Dieser Code verwendet eine verschachtelte Schleife, um jedes Tabellenblatt in der Arbeitsmappe zu durchlaufen und dann jede Schaltfläche in jedem Tabellenblatt zu durchlaufen und zu löschen.
Sie können diesen Code ausführen, indem Sie ihn in ein VBA-Modul in Ihrer Excel-Datei einfügen und dann die Schaltfläche "Ausführen" oder die Tastenkombination "F5" drücken. Beachten Sie jedoch, dass das Entfernen von Schaltflächen irreversible ist, daher sollten Sie sicherstellen, dass Sie eine Sicherungskopie Ihrer Datei haben, bevor Sie diesen Code ausführen.
wie lautet der code, wenn es sich um schaltflächen vom typ formular handelt
Wenn Sie Schaltflächen vom Typ Formular-Steuerelement entfernen möchten, können Sie den folgenden Code verwenden:
Sub RemoveAllFormButtons()
    Dim ws As Worksheet
    Dim btn As Object
    
    'Schleife durch jedes Tabellenblatt
    For Each ws In ThisWorkbook.Worksheets
        'Schleife durch jede Schaltfläche vom Typ Formular-Steuerelement in dem Tabellenblatt
        For Each btn In ws.Shapes
            If btn.Type = msoFormControl Then 'Stellen Sie sicher, dass es sich um ein Formular-Steuerelement handelt
                btn.Delete 'Löschen Sie das Formular-Steuerelement
            End If
        Next btn
    Next ws
End Sub
Dieser Code verwendet auch eine verschachtelte Schleife, um jedes Tabellenblatt in der Arbeitsmappe zu durchlaufen und dann jede Schaltfläche vom Typ Formular-Steuerelement in jedem Tabellenblatt zu durchlaufen und zu löschen.
Beachten Sie, dass dieser Code nur Schaltflächen vom Typ Formular-Steuerelement löscht. Wenn Ihre Arbeitsmappe auch ActiveX-Steuerelemente enthält, müssen Sie einen separaten Code schreiben, um diese zu entfernen.
cu
Chris
Anzeige
AW: Schaltflächen mittels Makro entfernen
15.02.2023 08:46:17
volti
Hallo Romy,
versuch es mal so....
Code:


Sub Test() Dim oBtn As Object For Each oBtn In ActiveSheet.Shapes If oBtn.Name Like "Schaltfläche*" Then oBtn.Delete Next oBtn End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Schaltflächen mittels Makro entfernen
15.02.2023 11:51:21
Rudi
Hallo,
wenn es keine anderen Shapes auf dem Blatt gibt:
for each s in activesheet.shapes
  s.delete
next s
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige