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

Forumthread: Schaltflächen löschen / Formular u ActiveX

Schaltflächen löschen / Formular u ActiveX
Jörg-HH
Hallo zusammen
ich lösche per Code einige Schaltflächen - fast alle Formularschaltflächen, nur eine davon ActiveX. Klappt auch bestens. Wenn ich jedoch schrittweise durch den Code tappel, werden die Formularbuttons brav gelöscht, aber beim ActiveXbutton wird gemeckert "Wechsel in den Haltemodus an dieser Stelle nicht möglich" oder so
Warum ist das so?
Grüße - Jörg
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Gute Frage!
10.08.2010 20:40:25
Gerd
Gruß Gerd
AW: ActiveXbutton löschen - Warum ist das so?
10.08.2010 21:06:52
fcs
Hallo Jörg,
Warum ist das so?
Da Antworte ich gerne : Wiel die Programmierer bei Microsoft es so wollten oder nicht anders konnten.
Es hängt wahrscheinlich damit zusammen, dass Active-X-Steuerelemente normalerweise nur gelöscht werden können, wenn der Editier-Modus aktiv ist und das entsprechende Tabellenblatt aktiv ist.
Irgendwo verheddert sich VBA dann in der Excel-Objektwelt wenn man im VBA-Fenster ein Lösch-Makro im Schrittmodus ausführt.
Aus ähnlichem Grund gibt es Situationen, dass ein Makro nicht funktioniert/abbricht, wenn ein Active-x-Element den Focus hat. Wechselt man dann in den Debug-Modus funktioniert es plötzlich wieder, weil das Element dabei seinen Focus verliert. Da staunt der Fachmann und der Laie wundert sich.
Gruß
Franz
Anzeige
...alles klar - danke! oT
11.08.2010 11:51:04
Jörg-HH
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Schaltflächen in Excel löschen: So geht's richtig


Schritt-für-Schritt-Anleitung

Um Schaltflächen in Excel zu löschen, insbesondere wenn es um ActiveX-Steuerelemente geht, folge diesen Schritten:

  1. Aktiviere den Entwurfsmodus:

    • Gehe zum Reiter "Entwicklertools" und aktiviere den "Entwurfsmodus". Dies ist notwendig, um ActiveX-Steuerelemente zu bearbeiten oder zu löschen.
  2. Wähle das zu löschende Steuerelement aus:

    • Klicke auf das ActiveX-Steuerelement, das du entfernen möchtest.
  3. Lösche das Steuerelement:

    • Drücke die "Entf"-Taste auf deiner Tastatur oder klicke mit der rechten Maustaste und wähle "Löschen".
  4. Deaktiviere den Entwurfsmodus:

    • Schalte den Entwurfsmodus wieder aus, um die normalen Funktionen von Excel zu nutzen.

Häufige Fehler und Lösungen

  • Fehler: "Wechsel in den Haltemodus an dieser Stelle nicht möglich":

    • Dieser Fehler tritt auf, wenn du versuchst, ein ActiveX-Steuerelement zu löschen, während der Code im Schrittmodus ausgeführt wird. Stelle sicher, dass du im Entwurfsmodus bist und das richtige Blatt aktiv ist.
  • Fehler: Excel-Steuerelement lässt sich nicht löschen:

    • Überprüfe, ob der Entwurfsmodus aktiviert ist. Wenn das Steuerelement den Fokus hat, kann es sich möglicherweise nicht löschen lassen. Wechsle in den Debug-Modus und versuche es erneut.

Alternative Methoden

  1. VBA-Code verwenden:

    • Du kannst auch VBA verwenden, um Steuerelemente zu löschen. Hier ist ein Beispiel:
      Sub DeleteActiveXButton()
      Dim btn As Object
      Set btn = ActiveSheet.OLEObjects("NameDesButtons") ' Ersetze "NameDesButtons" mit dem tatsächlichen Namen
      btn.Delete
      End Sub
  2. Steuerelemente im Kontextmenü löschen:

    • Klicke mit der rechten Maustaste auf das ActiveX-Steuerelement und wähle "Löschen" aus dem Kontextmenü.

Praktische Beispiele

Wenn du beispielsweise ein ActiveX-Steuerelement namens "CommandButton1" hast, kannst du es mit folgendem VBA-Code löschen:

Sub DeleteCommandButton()
    On Error Resume Next ' Ignoriere Fehler, falls das Steuerelement nicht gefunden wird
    ActiveSheet.OLEObjects("CommandButton1").Delete
    On Error GoTo 0 ' Fehlerbehandlung zurücksetzen
End Sub

Für Formularsteuerelemente ist der Prozess ähnlich, achte jedoch darauf, dass sie nicht im Entwurfsmodus aktiv sind.


Tipps für Profis

  • Verwende den Entwurfsmodus regelmäßig: Achte darauf, den Entwurfsmodus zu aktivieren, bevor du Änderungen an ActiveX-Steuerelementen vornimmst.
  • Sichere deine Excel-Dateien: Bevor du große Änderungen vornimmst, erstelle eine Sicherungskopie deiner Datei, um Datenverlust zu vermeiden.
  • VBA-Debugging: Wenn du mit VBA arbeitest, nutze den Debugger, um sicherzustellen, dass dein Code keine unerwarteten Fehler verursacht, insbesondere beim Löschen von Steuerelementen.

FAQ: Häufige Fragen

1. Warum kann ich mein ActiveX-Steuerelement nicht löschen? Es kann sein, dass sich das Steuerelement im Fokus befindet oder du dich nicht im Entwurfsmodus befindest. Stelle sicher, dass der Entwurfsmodus aktiv ist.

2. Was sind die Unterschiede zwischen ActiveX- und Formularsteuerelementen? ActiveX-Steuerelemente bieten erweiterte Funktionen und sind flexibler, während Formularsteuerelemente einfacher zu verwenden sind und weniger Ressourcen benötigen.

3. Wie kann ich alle Excel-Steuerelemente auf einem Blatt löschen? Du kannst eine Schleife in VBA verwenden, um alle Steuerelemente zu durchlaufen und sie zu löschen. Beispiel:

Sub DeleteAllControls()
    Dim ctrl As Object
    For Each ctrl In ActiveSheet.OLEObjects
        ctrl.Delete
    Next ctrl
End Sub

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