Hallo,
ich habe ein Problem, an dem ich trotz stundenlanger Googlesuche nicht weiterkomme.
Ich möchte in Excel ein Userform erstellen, welches zwei Comboboxen enthält, einen Button "Abbrechen" (Commandbutton 1) und einen Button "Ausführen" (Commandbutton2). Beide Comboboxen sollen aus dem gleichen Bereich Auswählen (Es handelt sich um Zeitangaben mit Datum und Uhrzeit). Combobox1 soll den Startwert für die kommende Berechnung auswählen, Combobox 2 den Endwert.
Mein bisheriger Code sieht wie folgt aus:
Private Sub UserForm_Initialize()
Me.ComboBox1.RowSource = "Datenbereich"
Me.ComboBox2.RowSource = "Datenbereich"
End Sub
Private Sub ComboBox1_Change()
On Error Resume Next
Me.ComboBox1.Text = Format(ComboBox1.List(ComboBox1.ListIndex), "DD/MM/YYYY_hh:nn")
Sheets("Jahresbetrachtung").Range("F1").Value = Me.ComboBox1.ListIndex + 1
End Sub
Private Sub ComboBox2_Change()
On Error Resume Next
Me.ComboBox2.Text = Format(ComboBox2.List(ComboBox2.ListIndex), "DD/MM/YYYY_hh:nn")
Sheets("Jahresbetrachtung").Range("G1").Value = Me.ComboBox2.ListIndex + 1
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub CommandButton2_Click()
'Call Testmakro_Jahresbetra
End Sub
Zunächst: Die beiden Zeilen "On Error Resume Next, und die anschließende Formatierung sind aus Foren zusammengesucht, um die Zeitangabe nicht als Zahl sondern wirklich als zeit anzuzeigen. es funktioniert hinreichen gut, auch wenn ein Leerzeichen statt des unterstrichs zwischen Datum und Uhrzeit schöner wäre.
Mein eigentliches Problem: Ich möchte den Index meiner Auswahl in den Comboboxen in die zellen F1 bzw. G1 schreiben lassen. Wenn die "Datengrundlage also beim 01.01.2015 00:00 beginnt und im Stundentakt fortschreitet, soll die Auswahl von 01.01.2015 04:00 mir eine 5 in die Zele F1 schreiben (da es der fünfte Eintrag ist).
Leider gibt mir mein Code, so wie er ist, immer eine 0, egal, welche Auswahl ich treffe. Der Index wäre demnach immer -1, da ich ja noch 1 zum index addiere.
Wie bekomme ich es hin, dass mir die Auswahl wirklich den Index + 1 in die Zellen schreibt?
Anmerkung: Im Nachgang soll dann über den CommandButton 2 ein Makro ausgeführt werden, was dann die beiden Indizes weiter gebraucht. Sicher wäre eine direkte Übergabe der Indizes eleganter, zunächst wäre ich aber beriets glücklich, wenn auch die Anfängervariante mit dem schreiben und auslesen funktionieren würde.
Ich freue mich über jede Hilfe.
Mit lieben Grüßen und einen schönen Sonntag
Adrian
|