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

Forumthread: ComboBoxen deaktivieren

ComboBoxen deaktivieren
19.06.2009 10:20:18
Micha
Hallo zusammen,
ich habe folgende Herausforderung:
Teil 1:
In einem Tabellenblatt (Tabelle1) habe ich mehrere Comboboxen.
Wenn in der ComboBox_1 der Eintrag „ Name?“ gewählt wurde, müssen die …
ComboBox_2
ComboBox_3
ComboBox_4 … deaktiviert werden. Bei allen anderen Einträgen wieder aktiviert werden.
Teil 2:
Zusätzlich möchte ich wenn in der ComboBox_1 der Eintrag „ Name?“ gewählt wurde, das bei Eingaben im Zellbereich C5:F15 eine Meldung erscheint wie z.B. „Bitte erst einen Bearbeiter auswählen“
Würde mich riesig über eine Lösung meines Problems freuen.
Danke und Gruß
Micha
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ComboBox_2.Enabled = Not ComboBox_1.Value = "Name?
19.06.2009 10:35:13
NoNet
Hallo Micha,
so geht's :

Private Sub ComboBox_1_Change()
ComboBox_2.Enabled = Not ComboBox_1.Value = "Name?"
ComboBox_3.Enabled = Not ComboBox_1.Value = "Name?"
End Sub


Gruß, NoNet

AW: ComboBoxen deaktivieren
19.06.2009 10:50:01
Micha
Hallo NoNet,
Super, das klappt schon einmal bestens :-)
Hast Du auch noch eine Lösung für den Teil 2 meiner Frage?
Vielen Dank und Gruß
Micha
Anzeige
Uuuups : Teil 2 hatte ich überlesen ;-)
19.06.2009 11:03:22
NoNet
Hey Micha,
irgendwie hatte ich nur den ersten Teil der Frage gelesen (3" Bildschirm ? ;-)
Hier die Lösung zum Teil 2:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C5:F15]) Is Nothing Then
If ComboBox1.Value = "Name?" Then
MsgBox "Bitte erst einen Bearbeiter auswählen"
Application.EnableEvents = False
Application.Undo    'Eingabe rückgängig machen
Application.EnableEvents = True
End If
End If
End Sub


Gruß, NoNet

Anzeige
Genial, trotzdem noch eine Frage
19.06.2009 11:11:29
Micha
Hallo NoNet,
einfach Genial, das klappt hervorragend :-)
Erlaube mir bitte noch eine Frage:
Besteht die Möglichkeit das diese Meldung auch angezeigt wird, wenn jemand auf die deaktivierten ComboBoxen klickt?
Vielen, vielen Dank
Micha
Nicht ganz, nur ansatzweise ("Hovern")
19.06.2009 11:27:14
NoNet
Hallo Micha,
da man eine deaktivierte Combobox nicht anklicken kann, kann man dafür auch keinen Code hinterlegen (bzw.: Der Code reagiert nicht, wenn die CB deaktiviert ist !).
Aber : Schon beim "Hovern" (also: Drüberfahren mit der Maus) könnte das Makro reagieren :

Private Sub ComboBox_2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
If Not ComboBox_2.Enabled Then MsgBox "Bitte erst einen Bearbeiter auswählen"
End Sub



Private Sub ComboBox_3_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
If Not ComboBox_3.Enabled Then MsgBox "Bitte erst einen Bearbeiter auswählen"
End Sub


Gruß, NoNet

Anzeige
AW: Nicht ganz, nur ansatzweise ("Hovern")
19.06.2009 11:45:57
Micha
Hy NoNet,
das ist zwar nicht ganz das was ich gesucht habe, aber eine interessante Funktion, da habe ich heute wieder eine Menge dazu gelernt.
Auf jeden Fall hast Du mir riesig mit den Lösungen Teil1 + 2 weitergeholfen.
Nochmals vielen Dank, für die schnelle und sehr kompentente Hilfe
Gruß und ein schönes Wochenende
Micha
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

ComboBoxen in Excel deaktivieren und Meldungen anzeigen


Schritt-für-Schritt-Anleitung

Um ComboBoxen in Excel zu deaktivieren und eine entsprechende Meldung auszugeben, kannst du die folgenden Schritte befolgen. Dieses Beispiel verwendet VBA und ist für Excel-Versionen ab 2007 geeignet.

  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf „VBAProject (dein Dokument)“ klickst und „Einfügen“ > „Modul“ wählst.

  3. Füge den folgenden Code für die ComboBoxen ein:

    Private Sub ComboBox_1_Change()
       ComboBox_2.Enabled = Not ComboBox_1.Value = "Name?"
       ComboBox_3.Enabled = Not ComboBox_1.Value = "Name?"
    End Sub
  4. Füge den zweiten Teil für die Meldung ein, indem du den Code in das Arbeitsblattmodul von „Tabelle1“ kopierst:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, [C5:F15]) Is Nothing Then
           If ComboBox1.Value = "Name?" Then
               MsgBox "Bitte erst einen Bearbeiter auswählen"
               Application.EnableEvents = False
               Application.Undo    'Eingabe rückgängig machen
               Application.EnableEvents = True
           End If
       End If
    End Sub
  5. Um die Meldung beim Hovern über die deaktivierten ComboBoxen anzuzeigen, füge folgenden Code für jede ComboBox hinzu:

    Private Sub ComboBox_2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
       If Not ComboBox_2.Enabled Then MsgBox "Bitte erst einen Bearbeiter auswählen"
    End Sub
    
    Private Sub ComboBox_3_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
       If Not ComboBox_3.Enabled Then MsgBox "Bitte erst einen Bearbeiter auswählen"
    End Sub

Häufige Fehler und Lösungen

  • Fehler: ComboBox bleibt deaktiviert

    • Lösung: Stelle sicher, dass die Bedingung in der ComboBox_1_Change-Prozedur korrekt ist und dass die Werte in der ComboBox richtig geschrieben sind.
  • Fehler: Meldung erscheint nicht

    • Lösung: Überprüfe, ob die Zellen C5:F15 korrekt definiert sind und dass die Ereignisse aktiviert sind (Application.EnableEvents).

Alternative Methoden

Wenn du die Excel-Autovervollständigung deaktivieren möchtest, kannst du dies in den Excel-Optionen unter „Erweitert“ tun. Das Deaktivieren von Dropdowns in ComboBoxen kann auch durch das Setzen der Visible-Eigenschaft auf False erfolgen, statt sie nur zu deaktivieren.


Praktische Beispiele

Hier sind einige Beispiele für die Verwendung von ComboBoxen:

  • Du kannst eine ComboBox für die Auswahl von Bearbeitern nutzen, wo die Auswahl eines bestimmten Namens andere Optionen deaktiviert.
  • Verwende die Worksheet_Change-Ereignisprozedur, um Benutzern durch Popup-Meldungen Feedback zu geben, wenn sie unerlaubte Eingaben vornehmen.

Tipps für Profis

  • Nutze die With-Anweisung, um den Code effizienter zu gestalten:

    With ComboBox_2
       .Enabled = Not ComboBox_1.Value = "Name?"
    End With
  • Berücksichtige, dass das Deaktivieren von Dropdowns in Excel auch das Benutzererlebnis beeinflussen kann. Achte darauf, klare Anweisungen zu geben.


FAQ: Häufige Fragen

1. Wie kann ich die Excel-Autovervollständigung deaktivieren?
Du kannst die Autovervollständigung in den Excel-Optionen deaktivieren unter „Erweitert“ und den Haken bei „Automatische Vervollständigung für Zellen aktivieren“ entfernen.

2. Gibt es eine Möglichkeit, die Meldung anzupassen?
Ja, du kannst den Text in der MsgBox-Funktion nach deinen Wünschen ändern, um spezifischere Anweisungen zu geben.

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