der Code macht was er soll bis auf die Tatsache, dass in der Userform alle Felder ausgefüllt werden müssen. (Um die Daten dann weiter verarbeiten zu lassen)
Leider ist meine Lösung nicht wirklich zielführend ab
Dim zaehler As Integer
With xSht
For zaehler = 2 To 9....
Die Message Box kommt zwar, wenn leer , aber mit OK läuft der Rest dann durch
Ich möchte aber, dass der Anwender wieder auf die Userform zurückkommt, um die fehlenden Felder ergänzen zu können. Finde leider keine Lösung hierzu.
Vielen Dank für eure Tipps schon mal vorab. Georg
Private Sub cmdDatatoSheet_Click()
Dim xSht As Object
Set xSht = ThisWorkbook.Worksheets("Austritte")
Dim RowNext As Long
'Die nächste freie Zeile mit den Daten aus der Userform befüllen --> Tab Austritte
With xSht
RowNext = xSht.Cells(Rows.Count, 2).End(xlUp).Row
RowNext = RowNext + 1
.Cells(RowNext, 2).Value = Me.BoxSB.Value
.Cells(RowNext, 3).Value = Me.txtName.Value
.Cells(RowNext, 4).Value = Me.txtVorname.Value
.Cells(RowNext, 5).Value = Me.txtAustritt.Value
.Cells(RowNext, 6).Value = Me.LBBereich.Value
.Cells(RowNext, 7).Value = Me.LBPosition.Value
.Cells(RowNext, 8).Value = "'" & Me.txtToken.Value
.Cells(RowNext, 9).Value = Me.BoxAustritt.Value
End With
Dim zaehler As Integer
With xSht
For zaehler = 2 To 9
If .Cells(RowNext, zaehler).Value = "" Then
MsgBox "Fehler! Sie haben nicht alle Felder ausgefüllt!", vbOKCancel
End If
Next
End With
'Was ist zu tun?:
Select Case BoxAustritt.ListIndex
Case Is = 0
xSht.Cells(RowNext, 10).Value = "Account ist zu löschen"
Case Is = 1
xSht.Cells(RowNext, 10).Value = "Account ist zu löschen falls angelegt"
Case Is = 2
xSht.Cells(RowNext, 10).Value = "Account ist zu deaktivieren"
End Select
'IXI Nummer freigeben
Select Case LBPosition.ListIndex
Case Is = 0
xSht.Cells(RowNext, 12).Value = "nein" 'MFA
Case Is = 1
xSht.Cells(RowNext, 12).Value = "nein" 'EK
Case Is = 2
xSht.Cells(RowNext, 12).Value = "nein" 'Agent
Case Is = 3
xSht.Cells(RowNext, 12).Value = "nein" 'SL
Case Else
xSht.Cells(RowNext, 12).Value = "ja" 'alle anderen
End Select
'Token löschen lassen:
Select Case LBPosition.ListIndex
Case Is = 0
xSht.Cells(RowNext, 11).Value = "nein" 'MFA
Case Is = 2
xSht.Cells(RowNext, 11).Value = "nein" 'Agent
Case Is = 3
xSht.Cells(RowNext, 11).Value = "teilweise ja" 'SL
Case Else
xSht.Cells(RowNext, 11).Value = "ja" 'alle anderen
End Select
Dim Bereich As Range
Set Bereich = xSht.Range(Cells(7, 2), Cells(RowNext, 15))
Bereich.RowHeight = 36
Unload Me
'frmMailKonto.Show
End Sub