ich bin gerade dabei für eine Organisation ein Dienstplan-Programm mit Excel2007 zu erstellen. Dabei spielt eine Combobox in einem Userform eine Rolle, über die die einzelnen Dienste der Mitarbeiter aufgerufen werden können. Die RowSource ist ein Range, der so ausssieht:
"Standarddienste!P2:P15".
Dort stehen im Textformat solche Angaben wie:
06:30 - 15:00
11:00 - 19:30
14:30 - 19:30
10:00 - 18:30
usw.
Der ausgewählte String soll dann in den jeweiligen Tag für den jeweiligen Mitarbeiter eingetragen werden. Die zu diesem Eintrag gehörende Zeile finde ich mit der Match-Funktion:
zei = Application.WorksheetFunction.Match(Me.cboStdD.Text, .Range("P2:P15"), 0)
Anfangs klappte das auch. Aber irgendwann kam diese Fehlermeldung:
Laufzeitfehler 1004:
"Die Match-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden."
Ich weiß jetzt auch warum der Fehler kommt. Wenn ich z.B. den Dienst "06:30 - 15:00" ausgewählt habe, dann wandelt VBA diesen String "klammheimlich" in "06:30:00 - 15:00:00" um, obwohl es sich um einen String handelt. Und da ein so geschriebener Wert nicht im Suchbereich liegt, kommt der Fehler.
Schreibe ich eine Prozedur außerhalb eines Userform wie diese
Public Sub test1()
v = "06:30 - 15:00"
zei = Application.WorksheetFunction.Match(v, Range("P2:P15"), 0)
End Sub
dann funktioniert das ausgezeichnet.
Hat jemand eine Idee, was da abgeht?
Über eine Antwort würde ich mich sehr freuen.
Jürgen