Ich benötige mal wieder Eure Hilfe.
Ich habe eine Tabelle erstellt (Bereich A5 bis AV28). Der User muss Zeile per Zeile ausfüllen und immer von links nach rechts. Dafür habe ich auch die Funktion der Entertaste geändert (siehe VBA Code)
Private Sub Workbook_Activate()
Application.MoveAfterReturnDirection = xlToRight
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.MoveAfterReturnDirection = xlDown
End Sub
.In der Spalte (A) wird immer der Name des Kunden erwähnt.
In der Spalte (B) öffnet sich eine Userform die dazu dient, alle restlichen Zellen (A5 bis A28) auszufüllen.
Je nachdem was für Eingaben in den restlichen Spalten getätigt werden, öffnen sich dann weitere Userforms. Die dort eingegebenen Daten, werden auf dem gleichen Blatt, aber immer an verschiedenen Orten abgelegt. Somit können sich nacheinander für jede Zeile 3 4 Userforms öffnen.
Bis dahin funktioniert komischerweise alles einwandfrei
Ich möchte aber, dass wenn die letzte Userform geschlossen wird, der Cursor automatisch in die ursprüngliche Position zurückkehrt.
Also, wenn die Zelle A5 bis AV 5 ausgefüllt wurde, sollte der Cursor in die Zelle A6 (erste freie Zelle) zurückkehren. Wenn die Zelle A6 bis AV 6 ausgefüllt wurde, sollte der Cursor in die Zelle A 7 zurückkehren usw. Somit kann der User sofort weiterarbeiten. Oberhalb und unterhalb der Spalte A5 und A28 sind die Zellen besetzt.
Welchen VBA Code muss ich meiner Userform anfügen damit dies funktioniert.
Private Sub cmdConfermareCrossSellingNo_Click()
On Error GoTo Fehler
Cells(ActiveCell.Row, 52) = txtCrossSellingNo.Value
Unload Me
usfCrossSellingNo.Hide
Fehler:
usfCrossSellingNo.Hide
End Sub
Für die professionelle und schnelle Antwort danke ich Euch im voraus.
Thierry