Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fokus auf Combobox entfernen

Forumthread: Fokus auf Combobox entfernen

Fokus auf Combobox entfernen
17.01.2003 11:52:00
Sören Wiechert
Hallo,

wie kann ich den Fokus auf eine Combobox im Worksheet per VBA entfernen?

Ich habe zwei Tabellenblätter. Auf dem ersten befindet sich eine Combobox aus den Steuerelementen. Im _Activate des Sheets setze ich für einen Zellenbereich eine Gültigkeitsprüfung. Wenn bevor das _Activate ausgeführt wird nun aber der Fokus auf die Combobox zeigt, dann bekomme ich einen "Anwendungs- oder objektdefinierter Fehler". Wie kann ich das verhindern?

Gruß,
Sören

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Fokus auf Combobox entfernen
17.01.2003 12:17:40
Udo RiHü
Hallo,

ändere in den Eigenschaften der ComboBox TakeFocusOnClick auf false.

Gruss aus'm Pott
Udo

Quatsch, entschuldige
17.01.2003 12:22:14
Udo RiHü
Hallo,
das geht gar nicht bei ComboBoxen. Versuch's mal mit einem select auf eine beliebige Zelle. Damit verliert die Box den Focus.

Gruss aus'm Pott
Udo

Re: Quatsch, entschuldige
17.01.2003 12:29:07
Sören Wiechert
Hallo Udo,

soweit war ich auch schon. Hatte bisher einen anderen Fehler verursacht. Du hast aber recht, damit geht es natürlich!

Anscheinend war der Header (oder wie auch immer das bei einem Worksheet heisst) des Worksheets defekt. Ich habe das Worksheet neu erstellt und nun gehts.

Gruß,
Sören

Anzeige
;
Anzeige

Infobox / Tutorial

Fokus auf Combobox in Excel entfernen


Schritt-für-Schritt-Anleitung

Um den Fokus auf eine Combobox in Excel per VBA zu entfernen, kannst Du die folgenden Schritte befolgen:

  1. Öffne das Visual Basic for Applications (VBA) Fenster:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle das entsprechende Worksheet:

    • Im Projektfenster findest Du die Liste Deiner Arbeitsblätter. Doppelklicke auf das Blatt, wo sich die Combobox befindet.
  3. Füge den folgenden Code in das Worksheet-Objekt ein:

    Private Sub Worksheet_Activate()
       ' Wähle eine beliebige Zelle, um den Fokus zu entfernen
       Range("A1").Select
    End Sub
    • Dieser Code sorgt dafür, dass beim Aktivieren des Worksheets der Fokus auf Zelle A1 gesetzt wird, wodurch die Combobox den Fokus verliert.
  4. Schließe den VBA-Editor:

    • Speichere die Änderungen und schließe das Fenster.
  5. Teste die Funktionalität:

    • Wechsle zurück zu Deinem Arbeitsblatt und aktiviere es, um zu prüfen, ob der Fokus erfolgreich entfernt wurde.

Häufige Fehler und Lösungen

  • Anwendungs- oder objektdefinierter Fehler:

    • Dieser Fehler tritt auf, wenn das Worksheet einen defekten Header hat. In diesem Fall hilft es, das Worksheet neu zu erstellen.
  • Fokus bleibt auf der Combobox:

    • Stelle sicher, dass der Code im Worksheet_Activate-Ereignis korrekt implementiert ist. Wenn der Fehler weiterhin besteht, versuche, eine andere Zelle auszuwählen.

Alternative Methoden

Falls Du Schwierigkeiten mit VBA hast, kannst Du folgende alternative Methoden ausprobieren:

  • Eigenschaften der ComboBox anpassen:

    • In den Eigenschaften der ComboBox kannst Du TakeFocusOnClick auf False setzen. Beachte jedoch, dass dies nicht immer für alle ComboBoxen funktioniert.
  • Einen Button verwenden:

    • Erstelle einen Button, der beim Klicken den Fokus auf eine Zelle setzt. Das kann ebenfalls den Fokus von der Combobox entfernen.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du den Fokus auf eine Combobox in Excel entfernen kannst:

  1. Einfaches Beispiel mit einer Combobox:

    Private Sub Worksheet_Activate()
       ' Setze den Fokus auf Zelle B2
       Range("B2").Select
    End Sub
  2. Kombination mit Validierungsprüfung:

    Private Sub Worksheet_Activate()
       ' Gültigkeitsprüfung für den Bereich A1:A10
       With Range("A1:A10").Validation
           .Delete
           .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="Option1,Option2"
       End With
       ' Fokus auf Zelle C1
       Range("C1").Select
    End Sub

Tipps für Profis

  • Verwende Application.Goto statt Range.Select, um den Fokus effizienter zu ändern:

    Application.Goto Reference:=Range("A1")
  • Füge Fehlerbehandlungsroutinen in Deinen VBA-Code ein, um unerwartete Fehler zu vermeiden und die Benutzererfahrung zu verbessern.


FAQ: Häufige Fragen

1. Wie kann ich den Fokus auf eine andere Zelle setzen? Du kannst die Zeile Range("Zelladresse").Select im Worksheet_Activate-Ereignis anpassen, um den Fokus auf eine gewünschte Zelle zu setzen.

2. Funktioniert das auch in Excel 365? Ja, die beschriebenen Methoden und VBA-Codes funktionieren auch in Excel 365. Stelle sicher, dass Du die richtigen Berechtigungen hast, um VBA auszuführen.

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