Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro/Steuerelemente löschen

Forumthread: Makro/Steuerelemente löschen

Makro/Steuerelemente löschen
01.03.2004 12:56:45
Michi
Hallo alle zusammen,
ich denke hier kann mir bestimmt jemand helfen.
Ich habe eine XLT-Datei mit vier Arbeitsblättern.
Zu jedem Arbeitsblatt sind spezielle Funktionen und Steuerlemente eingebettet.
Nun zu meinem Problem.
Ich möchte das der Anwender, wenn er die Datei speichern will, eine minimierte Form der Vorlage abspeichert.
Das bedeutet, es sollen weder Makros noch Steuerlemente in der abgespeicherten Datei vorhanden sein.
Gruß
Michi
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro/Steuerelemente löschen
01.03.2004 13:11:37
Josef Ehrensberger
Hallo Michi!
Hier zwei Codes.
Der erste löscht den gesamten Code, das zweite alle Steuerelemente,
jeweils in der activen Mappe, nicht aber in der mappe in der der
Code Steht(als sicherheit).


Public Sub Code_loeschen()
'Code und Module löschen
    Dim myVBComponents As Object
If ActiveWorkbook.Name = ThisWorkbook.Name Then Exit Sub
'sicherheits-check um nicht sich selbst zu löschen
    With ActiveWorkbook.VBProject
        For Each myVBComponents In .VBComponents
            Select Case myVBComponents.Type
                Case 1, 2, 3
                    .VBComponents.Remove .VBComponents(myVBComponents.Name)
                Case 100
                    With myVBComponents.CodeModule
                        .DeleteLines 1, .CountOfLines
                    End With
            End Select
        Next
    End With
End Sub
Public Sub Steuerelemente_loeschen()
'Alle Steuerelemente löschen
Dim wks As Worksheet
Dim myShp As Shape
If ActiveWorkbook.Name = ThisWorkbook.Name Then Exit Sub
For Each wks In ActiveWorkbook.Sheets
For Each myShp In wks.Shapes
myShp.Delete
Next
Next
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp


Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)


Anzeige
;
Anzeige

Infobox / Tutorial

Makros und Steuerelemente in Excel entfernen


Schritt-für-Schritt-Anleitung

Um alle Steuerelemente in Excel zu löschen, kannst Du die folgenden VBA-Codes verwenden. Diese Codes helfen Dir, sowohl Makros als auch Steuerelemente zu entfernen.

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke auf Einfügen > Modul.
  3. Kopiere den folgenden Code für das Löschen der Steuerelemente:

    Public Sub Steuerelemente_loeschen()
       Dim wks As Worksheet
       Dim myShp As Shape
       If ActiveWorkbook.Name = ThisWorkbook.Name Then Exit Sub
    
       For Each wks In ActiveWorkbook.Sheets
           For Each myShp In wks.Shapes
               myShp.Delete
           Next
       Next
    End Sub
  4. Führe den Code aus:

    • Platziere den Cursor innerhalb des Codes und drücke F5, um das Makro auszuführen.

Häufige Fehler und Lösungen

  • Fehler: "Das Makro kann nicht ausgeführt werden."

    • Lösung: Stelle sicher, dass die Makros in Deiner Excel-Datei aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die notwendigen Optionen.
  • Fehler: "Keine Steuerelemente gefunden."

    • Lösung: Überprüfe, ob Du tatsächlich Steuerelemente in Deinem Arbeitsblatt hast. Der Code löscht nur vorhandene Steuerelemente.

Alternative Methoden

Wenn Du keine VBA-Codes verwenden möchtest, kannst Du auch manuell Steuerelemente in Excel löschen:

  1. Wähle das Steuerelement aus:

    • Klicke auf das Steuerelement, das Du löschen möchtest.
  2. Drücke die Entf-Taste:

    • Dadurch wird das ausgewählte Steuerelement entfernt.
  3. Um mehrere Steuerelemente gleichzeitig zu löschen, halte die Strg-Taste gedrückt und klicke auf die gewünschten Elemente, bevor Du die Entf-Taste drückst.


Praktische Beispiele

  1. Beispiel für das Löschen von Formularsteuerelementen:

    • Verwende den oben angegebenen VBA-Code, um alle Formularsteuerelemente auf einmal zu löschen.
  2. Beispiel für das Löschen eines spezifischen Steuerelements:

    • Wenn Du nur ein spezifisches Steuerelement, wie ein Eingabefeld, entfernen möchtest, wähle dieses aus und drücke Entf.

Tipps für Profis

  • Sichere Deine Datei: Bevor Du mit dem Löschen von Steuerelementen beginnst, mache eine Sicherungskopie Deiner Datei.
  • Verwende Undo: Wenn Du versehentlich ein falsches Steuerelement gelöscht hast, kannst Du die Rückgängig-Funktion verwenden, um es wiederherzustellen.
  • Makros optimieren: Überlege, den Löschcode in ein größeres Makro zu integrieren, das auch andere Bereinigungen vornimmt, bevor Du die Datei speicherst.

FAQ: Häufige Fragen

1. Wie lösche ich alle Steuerelemente in Excel auf einmal?
Mit dem oben angegebenen VBA-Code kannst Du alle Steuerelemente in der aktiven Arbeitsmappe löschen.

2. Kann ich Steuerelemente auch ohne VBA löschen?
Ja, Du kannst Steuerelemente manuell auswählen und mit der Entf-Taste löschen.

3. Was passiert, wenn ich ein Steuerelement lösche?
Das Steuerelement wird entfernt und kann nicht wiederhergestellt werden, es sei denn, Du verwendest die Rückgängig-Funktion.

4. Sind gelöschte Steuerelemente endgültig entfernt?
Ja, einmal gelöscht, sind die Steuerelemente nicht mehr in der Datei vorhanden. Eine Sicherung ist empfehlenswert, bevor Du Änderungen vornimmst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige