Hallo zusammen,
ich mal wieder, mit meinem "Anfängerprojekt" ;)
Ich hab noch zwei kleiner Probleme.
Hier erstmal ein Screenshot der Userform, wie sie nach Aufruf erscheinen soll.
Hier meine Fragen:
Um die Bedienung des Formulars zu vereinfachen, würde ich es gerne so gestalten, dass vom Bediener mit der Tab oder der Entertaste ins nächste Eingabefeld / die nächste zu bedienende Schaltfläche gesprungen werden kann.
Die Reihenfolge sollte in etwa so sein:
Start mit TextBox1 (Pers. Nr. oder Name)
2. CommandButton1 (Suche)
3. ComboBox1 (Tag)
4. TextBox4 (Betrag)
5. CommandButton2 (Daten übernehmen)
danach wäre es ganz gut, wenn der Cursor wieder in der TextBox1 blinken würde.
Ist das möglich?
Und hier die zweite Frage:
Wie müsste ich den Code umschreiben, wenn ich die Daten für die TextBoxen 4 und 5 (Gesamtsumme Tag und Anzahl Essen) aus dem Arbeitsblatt "Summen" Zeile 5 und 6 entnehmen würde. Der Aufbau ist der Gleiche nur eben die Zeilen 5 und 6 die Tage stehen in Zeile 4 (1 - 31)
Hier mal der Code:
Private Sub UserForm_Initialize()
Dim i As Integer
For i = 1 To 31
ComboBox1.AddItem i
Next
End Sub
Private Sub ComboBox1_Change()
On Error GoTo Fehler
If ComboBox1 > 0 And ComboBox1 < 31 Then
TextBox4 = Format(CDbl(Cells(IDX, ComboBox1 + 2)), "0.00")
TextBox5 = Format(CDbl(Cells(350, ComboBox1 + 2)), "0.00")
TextBox6 = CInt(Cells(351, ComboBox1 + 2))
Label4.Caption = " Summe Tag: " & ComboBox1 & "." & Cells(2, 2) & "." & Cells(2, 1)
Label5.Caption = "Anzahl Essen: " & ComboBox1 & "." & Cells(2, 2) & "." & Cells(2, 1)
End If
Exit Sub
Fehler:
MsgBox "Ungültiger Tag", vbInformation
End Sub
Private Sub CommandButton1_Click()
Dim suche
suche = TextBox1
Set zelle = Worksheets("Essen mit Zuschuss").Columns("A:B").Find(What:="*" & suche & "*", _
LookIn:=xlValues, lookat:=xlWhole)
If Not zelle Is Nothing Then
IDX = zelle.Row 'Zeile merken
TextBox2 = Cells(zelle.Row, 1)
TextBox3 = Cells(zelle.Row, 2)
End If
End Sub
Private Sub CommandButton2_Click()
Dim TMP&
On Error GoTo Fehler
Cells(IDX, ComboBox1 + 2) = TextBox4.Text
Cells(IDX, ComboBox1 + 2) = Cells(IDX, ComboBox1 + 2) * 1
TMP = ComboBox1
ComboBox1 = TMP
TextBox1.Text = ""
ComboBox1 = ""
Exit Sub
Fehler:
Cells(IDX, ComboBox1 + 2).ClearContents
End Sub
Private Sub CommandButton3_Click()
'Eingabemaske schließen
Unload Me
End Sub
Kann mir da wer helfen?
Viele Grüße
Harry