Excel 2013 mit VBA. Ich habe eine ComboBox, die mir erlaubt, RestDays Mon
, Tue
, Wed
, und so weiter zu wählen.
Wenn ich Mon
wähle, möchte ich alle Agenten, die RD am Montag hat, in der ListBox angezeigt. Im Beispiel kann ich es anzeigen, aber es bezieht sich nur auf eine einzelne Spalte, ich möchte in der Lage sein, auch die andere Spalte zu verwenden.Sie erhalten ihren Namen basierend auf 2 Spalten in Excel
Hier ist mein Code:
Private Sub cmbRestDay_Change()
Dim x, dict
Dim i As Long
Dim cnt As Long
Set mySheet = Sheets("Dashboard")
ListBox1.Clear
x = mySheet.Range("A1").CurrentRegion.Value
Set dict = CreateObject("Scripting.Dictionary")
If Application.CountIf(mySheet.Columns(2), cmbRestDay.Value) > 0 Then
For i = 2 To UBound(x, 1)
If x(i, 2) = cmbRestDay.Value Then
dict.Item(x(i, 1)) = ""
End If
Next i
ListBox1.List = dict.keys
Else
ListBox1.AddItem "Match not found"
End If
End Sub
Private Sub UserForm_Initialize()
cmbRestDay.Clear
With cmbRestDay
.AddItem ("Mon")
.AddItem ("Tue")
.AddItem ("Wed")
.AddItem ("Thu")
.AddItem ("Fri")
.AddItem ("Sat")
.AddItem ("Sun")
End With
cmbMyRD.Clear
With cmbMyRD
.AddItem ("Mon")
.AddItem ("Tue")
.AddItem ("Wed")
.AddItem ("Thu")
.AddItem ("Fri")
.AddItem ("Sat")
.AddItem ("Sun")
End With
End Sub
Vielen Dank YowE3K..that arbeitet jetzt ..Ich wird Ich muss mich auf die Codes konzentrieren, die für mich jetzt ungewohnt sind wie der UBound. –