Guten Tag VBA Fachleute,
erneut benötige ich als VBA Neuling wieder Eure großartige Hilfe. Hier die Probleme. Meine erstellte Userform soll die Daten in Tabellenblätter ablegen. Welche Tabelle genommen werden soll ist über eine If Funktion hinterlegt. Also z.B.
If txtGerätenummer = "G001" Then
Dim VariableA As Long
VariableA = Worksheets(1).Cells(Rows.Count,1).End(x1Up).Row+1
With Worksheets(1)
.Cells(VariableA, 1) .Value = Me.txtDatum.Value
.Cells(VariableA, 2). Value = Me.txtBediener.Value
.Cells (VariableA, 3). Value =Me.txtPrüfer.Value
.Cells usw.usw usw.
End with
End if
Frage, bei 100 Geräten die so erfasst werden sollen, muss ich diesen Code 100 mal so eingeben mit dem entsprechenden Worksheet, oder kann der Code vereinfacht werden, weil der Aufbau der einzelnen Tabellenblätter für die Geräte (Worksheets) ist immer gleich. So das auch die "Datenablagestellen" im Tabellenblatt eigentlich immer die gleichen sind, jedoch halt immer nach Auswahl der Gerätenummer auf einem anderen Worksheet? Wier könnte das als Code aussehen?
Und weitere Frage, kann ich Teildaten aus dieser Userform in eine andere Arbeitsmappe übernehmen? Wunsch wäre zum Beispiel, in der Userform wird im Textfeld Prüfer der Name "Max Mustermann" eingegeben.
"Max Mustermann" ist in der Arbeitsmappe "Arbeitsnachweise.xlm) in Tabelle 3 hinterlegt. Das Datum aus der Userform soll also in das Worksheet (1) der einen Arbeitsmappe wie oben geschrieben abgelegt werden und in der Arbeitsmappe (Arbeitsnachweise.xlm) in Tabelle 3. Damit Max Mustermann nicht extra seinen Arbeitsnachweis führen muss. Aber ausser Max Mustermann gibt es noch andere Mitarbeiter die ebenfalls Prüfen dürfen. Wird also in der Userform zum Beispiel "Felix Hase" eingegeben sollen die Teildaten in der Arbeitsmappe (Arbeitsnachweise.xlm) in Tabelle 4 übernommen werden usw. Das ganze sollte optimalerweise im Hintergrund bewerkstelligt werde. Wie kann der VBA Code dazu aussehen?
Vielen Dank für die Rückantworten schon mal im Voraus.
Gruß Michael
|