ich habe einen Code geschrieben, den ich verwende um die Werte einer ausgefüllten Userform in die nächste freie Zeile zu schreiben. Das Projekt lag bei mir eine weile brach und ich bin der festen Überzeugung, dass der Code beim letzten mal funktioniert hat.
Nun tritt folgendes Problem auf:
- lasT zeigt mir die richtige freie Zeile an (In meinem Bsp. Zeile43)
- PalCompare ist in meinem Bsp. die 1
- rngPal zeigt mir 61 an ( Das müsste meines Erachtens dann die Zeile sein in der der Wert von PalCompare zu finden ist) . rngPal sollte aber nothing anzeigen, da es keine 1 gibt.
Sub WriteDataIntoTabele()
Dim lasT As Integer
lasT = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row + 1
Dim sRequest As Integer
sRequest = MsgBox("Bist du sicher, dass du das neue Werkzeug anlegen willst?", vbYesNo)
Dim PalCompare As Integer
' PalCompare = newMouldForm.txtPalette.Value
PalCompare = 1
Dim rngPal As Range
Set rngPal = ActiveSheet.Range("B9:B1000").Find(PalCompare) ' Suche letzte Zeile B1048576
'Sicherheitsabfrage
If sRequest = vbYes Then
' Prüfung ob Palettenplatz bereits belegt ist
If rngPal Is Nothing Then
ActiveSheet.Cells(lasT, 1) = newMouldForm.TxtCustomer.Value
ActiveSheet.Cells(lasT, 2) = newMouldForm.txtPalette.Value
ActiveSheet.Cells(lasT, 3) = newMouldForm.txtName.Value
ActiveSheet.Cells(lasT, 4) = newMouldForm.cBXType.Value
ActiveSheet.Cells(lasT, 5) = newMouldForm.txtVol.Value
ActiveSheet.Cells(lasT, 6) = newMouldForm.txtNo.Value
ActiveSheet.Cells(lasT, 7) = newMouldForm.txtNoNest.Value
ActiveSheet.Cells(lasT, 8) = newMouldForm.txtMa.Value
ActiveSheet.Cells(lasT, 9) = newMouldForm.cBXMaterial.Value
ActiveSheet.Cells(lasT, 10) = newMouldForm.cbxMachine.Value
ActiveSheet.Cells(lasT, 11) = newMouldForm.txtProd.Value
ActiveSheet.Cells(lasT, 12) = newMouldForm.txtYear.Value
ActiveSheet.Cells(lasT, 13) = newMouldForm.cBxCyc.Value
ActiveSheet.Cells(lasT, 14) = newMouldForm.txtInfo.Value
ActiveSheet.Cells(lasT, 15) = newMouldForm.txtKWZ.Value
ActiveSheet.Cells(lasT, 16) = newMouldForm.txtDorn.Value
ActiveSheet.Cells(lasT, 17) = newMouldForm.txtMappe.Value
Else
MsgBox "Der gewählte Palettenplatz ist bereits belegt. Bitte überprüfe deine Auswahl", vbOKOnly
End If
End If
End Sub
Ich weiß gerade nicht mehr weiter. Ich würde mich über jede hilfe freuen.LG Andi