Mein Problem ich habe ein Arbeitsmappe mit mehreren Tabellen in einer der Tabellen ist ein Auftragsplan+Kalender der durch eine Bedingte Formatierung den Tag einträgt wann gerüstet und montiert wird .
Im Vorderen Teil der Tabelle soll Excel Daten in eine Zeile eingetragen etwa das Datum und der Arbeitsplatz ; Rüstplatz usw. Dies habe ich über eine User Form mit mehreren Buttons und TextBoxen gemacht das Funktioniert auch gut leider schreibt Excel immer nur in die erste Zeile und wechselt nicht in die nächste Zeile.
Das ist der Code für denn Button Speichern also nach Betätigung soll Excel in der Tabelle die Werte eintragen in die Zeile A14 und dann in die nächste leere Zeile sprich A15 um dort wieder so einen Eintrag zumachen . Sobald man auf speichern drückt wird die Form gelehrt und die nächste Eingabe kann starten .
Private Sub cmdSpeichern_Click()
'UserInput Prüfen+ Msg Box
Dim RowCount As Long
Dim ctl As Control
Sheets("Fertigungsplan").Activate
NextRow = Application.WorksheetFunction.CountA(Range("A:A")) + 1
'Check User Input
'Msgbox GeräteName
If Me.txtGerät.Value = "" Then
MsgBox "Bitte gebeb sie eine Gerätenamen ein .", vbExclamation, "Staff Expenses"
Me.txtGerät.SetFocus
Exit Sub
End If
'Msgbox WANummer
If Me.txtwanu.Value = "" Then
MsgBox "Bitte geben sie eine Werksauftragsnummer ein .", vbExclamation, "Staff Expenses" _
_
Me.txtGerät.SetFocus
Exit Sub
End If
'Msgbox Stückzahl
If Me.cboStk.Value = "" Then
MsgBox "Bitte geben sie eine Anzahl an wieviel Stück sie Produzieren wollen.", _
vbExclamation, "Staff Expenses"
Me.txtGerät.SetFocus
Exit Sub
End If
'MsgBox Zeichungsnummer
If Me.txtZeichungsnummer.Value = "" Then
MsgBox "Bitte geben sie eine Zeichnungsnummer ein.", vbExclamation, "Staff Expenses"
Me.txtGerät.SetFocus
Exit Sub
End If
'MsgBox Kurztext
If Me.txtKurztext.Value = "" Then
MsgBox "Bitte geben sie einen Bezeichnung des Auftrags an.", vbExclamation, "Staff _
Expenses"
Me.txtGerät.SetFocus
Exit Sub
End If
'MsgBox von Arbeitsplatz
If Me.cboVonAP.Value = "" Then
MsgBox "Bitte geben sie einen Start-Arbeitsplatz an.", vbExclamation, "Staff Expenses"
Me.txtGerät.SetFocus
Exit Sub
End If
'MsgBox nach Arebitspaltz
If Me.cboZuAP.Value = "" Then
MsgBox "Bitte geben sie einen End-Arbeitsplatz an.", vbExclamation, "Staff Expenses"
Me.txtGerät.SetFocus
Exit Sub
End If
'MsgBox Startdatum
If Me.txtStartDatum.Value = "" Then
MsgBox "Bitte geben sie ein Startdatum an.", vbExclamation, "Staff Expenses"
Me.txtGerät.SetFocus
Exit Sub
End If
'Msgbox Dauer Arbeitstage
If Me.cboDauerArbeitstaginTagen.Value = "" Then
MsgBox "Bitte geben sie die Dauer des Auftrags an.", vbExclamation, "Staff Expenses"
Me.txtGerät.SetFocus
Exit Sub
End If
'MsgBox Rüsttage
If Me.cboRüsttage.Value = "" Then
MsgBox "Bitte geben sie die Dauer der Rüsttage an.", vbExclamation, "Staff Expenses"
Me.txtGerät.SetFocus
Exit Sub
End If
'MsgBox Bemerkung
If Me.txtBemerkung.Value = "" Then
MsgBox "Bitte geben sie eine Bemerkung an.", vbExclamation, "Staff Expenses"
Me.txtGerät.SetFocus
Exit Sub
End If
'Msgbox Fertigungsbegleitpapier
If Me.chkFertigungsbegleitpapierausgeben.Value = "" Then
MsgBox "Bitte geben sie an ob die Papiere in der Platafel sind.", vbExclamation, "Staff _
_
Expenses"
Me.txtGerät.SetFocus
Exit Sub
End If
'Msgbox Rüstliste
If Me.chkRüstlisteausgeben.Value = "" Then
MsgBox "Bitte geben sie an ob die Papiere in der Lagerplantafel sind.", vbExclamation, " _
_
Staff Expenses"
Me.txtGerät.SetFocus
Exit Sub
End If
' Das habe ich alles Ausprobiert Funktioniert leider nicht
'Sheets("Fertigungsplan").Activate
'Range("A" & NewRow).Select
'Range("A14").End(xlDown).Offset(1, 0).Select
'Write data to Worksheet
'NextFreeRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
'Worksheets("Fertigungsplan").OnEntry = "nächste_Zeile"
With Worksheets("Fertigungsplan").Range("A14")
.Offset(RowCount, 0).Value = Me.txtGerät.Value
.Offset(RowCount, 1).Value = Me.txtwanu.Value
.Offset(RowCount, 2).Value = Me.cboStk.Value
.Offset(RowCount, 3).Value = Me.txtZeichungsnummer.Value
.Offset(RowCount, 4).Value = Me.txtKurztext.Value
.Offset(RowCount, 5).Value = Me.cboVonAP.Value
.Offset(RowCount, 6).Value = Me.cboZuAP.Value
.Offset(RowCount, 7).Value = Me.cboTeam.Value
.Offset(RowCount, 8).Value = Me.cboAnzahlPersonen.Value
If Me.chkFertigungsbegleitpapierausgeben.Value = True Then
.Offset(RowCount, 9).Value = "x"
Else
.Offset(RowCount, 9).Value = ""
End If
If Me.chkRüstlisteausgeben.Value = True Then
.Offset(RowCount, 10).Value = "x"
Else
.Offset(RowCount, 10).Value = ""
End If
.Offset(RowCount, 11).Value = Me.cboRüsttage.Value
.Offset(RowCount, 14).Value = Me.txtStartDatum.Value
.Offset(RowCount, 15).Value = Me.cboDauerArbeitstaginTagen.Value
.Offset(RowCount, 21).Value = Me.txtBemerkung.Value
End With
'Clear the Form complett
For Each ctl In Me.Controls
If TypeName(ctl) = "TextBox" Or TypeName(ctl) = "ComboBox" Then
ctl.Value = ""
ElseIf TypeName(ctl) = "CheckBox" Then
ctl.Value = False
End If
Next ctl
End Sub
Bitte könnt ihr mir Helfen .
Besten Dank im Voraus .