ComboBox Wert vergleichen und Uhrzeit ergänzen
Schritt-für-Schritt-Anleitung
-
Öffne dein Excel Workbook und stelle sicher, dass du eine UserForm mit zwei ComboBoxen (ComboBox1 und ComboBox2) und zwei CommandButtons (CommandButton1 und CommandButton2) hast.
-
Füge den folgenden VBA-Code in das Codefenster der UserForm ein, um den Wert aus ComboBox2 mit den Namen in "Tabelle1" abzugleichen:
Private Sub CommandButton2_Click()
Dim raSuchbereich As Range, raFundzelle As Range
Set raSuchbereich = Worksheets("Tabelle1").Range("C26:C55")
Set raFundzelle = raSuchbereich.Find(Me.ComboBox2.Value)
If Not raFundzelle Is Nothing Then
raFundzelle.Offset(, 8) = Format(Now, "HH:mm")
Else
MsgBox "Der Suchbegriff: " & Me.ComboBox2.Value & vbLf _
& " ist im Bereich " & raSuchbereich.Address(0, 0) _
& " nicht vorhanden."
End If
End Sub
-
Teste die Funktion, indem du einen Namen in ComboBox2 auswählst und den CommandButton2 drückst. Die Uhrzeit sollte in der benachbarten Zelle in Spalte K eingetragen werden.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode wäre die Verwendung von Application.Match, um den gesuchten Wert zu finden und die Uhrzeit zu setzen:
Private Sub CommandButton2_Click()
If ComboBox2.ListIndex > -1 Then
Tabelle1.Cells((Application.Match(ComboBox2.Value, Tabelle1.Range("C26:C55"), 0) + 25), 11) = Format(Now, "HH:mm")
End If
End Sub
Diese Methode verwendet die Match-Funktion, um den Index des gefundenen Wertes zu ermitteln und trägt die Uhrzeit in die entsprechende Zelle ein.
Praktische Beispiele
-
Beispiel 1: Wenn der Name "Max" in der Liste steht und du ihn in ComboBox2 auswählst, wird bei Drücken von CommandButton2 die aktuelle Uhrzeit in Zelle K26 eingetragen.
-
Beispiel 2: Wenn "Anna" in der Liste steht und du sie wählst, wird die Uhrzeit in Zelle K27 eingetragen, vorausgesetzt, Anna steht in C27.
Tipps für Profis
- Achte darauf, dass die Daten in den ComboBoxen gut strukturiert sind, um die Benutzerfreundlichkeit zu erhöhen.
- Verwende
Option Explicit zu Beginn deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.
- Teste deinen Code gründlich, um sicherzustellen, dass alle möglichen Fehlerquellen abgedeckt sind.
FAQ: Häufige Fragen
1. Warum wird die Uhrzeit nicht korrekt angezeigt?
Stelle sicher, dass das Format für die Zellen in Spalte K korrekt eingestellt ist. Wenn die Zelle als Text formatiert ist, wird die Uhrzeit möglicherweise nicht richtig angezeigt.
2. Überwrites der Code die Inhalte der verbundenen Zellen?
Ja, wenn die Zellen verbunden sind, wird nur die oberste Zelle überschrieben. Die anderen verbundenen Zellen bleiben unverändert. Achte darauf, dies in deiner Planung zu berücksichtigen.