Registriert seit: 01.07.2023
Version(en): Pro Plus 2019
13.07.2023, 21:55
(Dieser Beitrag wurde zuletzt bearbeitet: 13.07.2023, 22:23 von Andyle.)
Ich habe ein UserForm mit verschiedenen Eingaben die in eine Tabelle geschrieben werden.
Eine Eingabe ist die Auftragsnummer sowie weitere Container
Wenn ich Auftragsnummer 12345 eingebe und in weitere Container eine Zahl, soll automatisch mehrere Auftragsnummern erstellt werden.
Bsp.:
12345 Container = 1
12345 12345-1
12345 Container = 2
12345 12345-1 12345-2
usw.
Folgende VBA hab ich.
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1 'letzte Zeile If txtW_Container = 1 Then ActiveSheet.Cells(last, 3).Value = Me.txtDatum.Value ActiveSheet.Cells(last, 4).Value = Me.txtAuftragsnummer.Value & "-1" End If
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1 'letzte Zeile If txtW_Container = 2 Then ActiveSheet.Cells(last, 3).Value = Me.txtDatum.Value ActiveSheet.Cells(last, 4).Value = Me.txtAuftragsnummer.Value & "-1" last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1 'letzte Zeile ActiveSheet.Cells(last, 3).Value = Me.txtDatum.Value ActiveSheet.Cells(last, 4).Value = Me.txtAuftragsnummer.Value & "-2" End If
Wie kann ich es automatisieren?
Vielen Dank für Eure Hilfe
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo,
wenn du schon was hast, wäre es nett, das hier auch einzustellen. Oder glaubst du, irgend jemand wird das nachbauen?
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden
Registriert seit: 01.07.2023
Version(en): Pro Plus 2019
Der VBA Code gefällt Dir wohl nicht?
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo, Zitat:Der VBA Code gefällt Dir wohl nicht? ich finde den so was von super! Aber wie soll man was testen, ohne die zugehörige Datei?
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden
Registriert seit: 01.07.2023
Version(en): Pro Plus 2019
14.07.2023, 07:08
(Dieser Beitrag wurde zuletzt bearbeitet: 14.07.2023, 07:44 von WillWissen.
Bearbeitungsgrund: Codetags gesetzt
)
Es soll eine automation werden! Es kann unzählige Containeranzahl sein. Und der jetzige Code währe sehr aufwändig und nicht automatisch! Mein jetziger Code: Code: last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1 'letzte Zeile ActiveSheet.Cells(last, 3).Value = Me.txtDatum.Value ActiveSheet.Cells(last, 4).Value = Me.txtAuftragsnummer.Value ActiveSheet.Cells(last, 5).Value = Me.txtDestination.Value ActiveSheet.Cells(last, 6).Value = Me.txtProdukt.Value ActiveSheet.Cells(last, 7).Value = Me.txtMenge.Value ActiveSheet.Cells(last, 8).Value = Me.txtCharge.Value ActiveSheet.Cells(last, 9).Value = Me.txtFremd.Value ActiveSheet.Cells(last, 10).Value = Me.txtContainer.Value ActiveSheet.Cells(last, 11).Value = Me.txtPlombennummer.Value ActiveSheet.Cells(last, 12).Value = Me.txtZollplombe.Value ActiveSheet.Cells(last, 13).Value = Me.txtSchiff.Value ActiveSheet.Cells(last, 14).Value = Me.txtEta.Value ActiveSheet.Cells(last, 15).Value = Me.txtStatus.Value ActiveSheet.Cells(last, 16).Value = Me.txtW_Container.Value ActiveSheet.Cells(last, 17).Value = Me.txtInfo.Value ActiveSheet.Cells(last, 18).Value = Me.txtVersandstatus.Value
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1 'letzte Zeile If txtW_Container = 1 Then ActiveSheet.Cells(last, 3).Value = Me.txtDatum.Value ActiveSheet.Cells(last, 4).Value = Me.txtAuftragsnummer.Value & "-1" ActiveSheet.Cells(last, 5).Value = Me.txtDestination.Value ActiveSheet.Cells(last, 6).Value = Me.txtProdukt.Value ActiveSheet.Cells(last, 7).Value = Me.txtMenge.Value ActiveSheet.Cells(last, 8).Value = Me.txtCharge.Value ActiveSheet.Cells(last, 9).Value = Me.txtFremd.Value ActiveSheet.Cells(last, 10).Value = Me.txtContainer.Value ActiveSheet.Cells(last, 11).Value = Me.txtPlombennummer.Value ActiveSheet.Cells(last, 12).Value = Me.txtZollplombe.Value ActiveSheet.Cells(last, 13).Value = Me.txtSchiff.Value ActiveSheet.Cells(last, 14).Value = Me.txtEta.Value ActiveSheet.Cells(last, 15).Value = Me.txtStatus.Value ActiveSheet.Cells(last, 16).Value = Me.txtW_Container.Value ActiveSheet.Cells(last, 17).Value = Me.txtInfo.Value ActiveSheet.Cells(last, 18).Value = Me.txtVersandstatus.Value End If
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1 'letzte Zeile If txtW_Container = 2 Then ActiveSheet.Cells(last, 3).Value = Me.txtDatum.Value ActiveSheet.Cells(last, 4).Value = Me.txtAuftragsnummer.Value & "-1" ActiveSheet.Cells(last, 5).Value = Me.txtDestination.Value ActiveSheet.Cells(last, 6).Value = Me.txtProdukt.Value ActiveSheet.Cells(last, 7).Value = Me.txtMenge.Value ActiveSheet.Cells(last, 8).Value = Me.txtCharge.Value ActiveSheet.Cells(last, 9).Value = Me.txtFremd.Value ActiveSheet.Cells(last, 10).Value = Me.txtContainer.Value ActiveSheet.Cells(last, 11).Value = Me.txtPlombennummer.Value ActiveSheet.Cells(last, 12).Value = Me.txtZollplombe.Value ActiveSheet.Cells(last, 13).Value = Me.txtSchiff.Value ActiveSheet.Cells(last, 14).Value = Me.txtEta.Value ActiveSheet.Cells(last, 15).Value = Me.txtStatus.Value ActiveSheet.Cells(last, 16).Value = Me.txtW_Container.Value ActiveSheet.Cells(last, 17).Value = Me.txtInfo.Value ActiveSheet.Cells(last, 18).Value = Me.txtVersandstatus.Value
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1 'letzte Zeile ActiveSheet.Cells(last, 3).Value = Me.txtDatum.Value ActiveSheet.Cells(last, 4).Value = Me.txtAuftragsnummer.Value & "-2" ActiveSheet.Cells(last, 5).Value = Me.txtDestination.Value ActiveSheet.Cells(last, 6).Value = Me.txtProdukt.Value ActiveSheet.Cells(last, 7).Value = Me.txtMenge.Value ActiveSheet.Cells(last, 8).Value = Me.txtCharge.Value ActiveSheet.Cells(last, 9).Value = Me.txtFremd.Value ActiveSheet.Cells(last, 10).Value = Me.txtContainer.Value ActiveSheet.Cells(last, 11).Value = Me.txtPlombennummer.Value ActiveSheet.Cells(last, 12).Value = Me.txtZollplombe.Value ActiveSheet.Cells(last, 13).Value = Me.txtSchiff.Value ActiveSheet.Cells(last, 14).Value = Me.txtEta.Value ActiveSheet.Cells(last, 15).Value = Me.txtStatus.Value ActiveSheet.Cells(last, 16).Value = Me.txtW_Container.Value ActiveSheet.Cells(last, 17).Value = Me.txtInfo.Value ActiveSheet.Cells(last, 18).Value = Me.txtVersandstatus.Value End If
Dieser müsste eventuell als Schleife sein, das erkannt wird, das bei Eingabe 10 Container auch 10 weitere Zeilen angelegt werden. Die Auftragsnummer müssten dann in den Zeilen vortlaufend sein. Bsp.: Hauptnummer 12345 (weitere Contauner 10) also 10 weitere Zeilen mit der Auftragsnummer 12345-1 bis 12345-10. Alle Daten werden aus der Hauptnummer in alle weiteren Zeilen geschrieben.
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
14.07.2023, 07:42
(Dieser Beitrag wurde zuletzt bearbeitet: 14.07.2023, 07:43 von Kuwer.)
Hallo, Code: Sub aaa() Dim i As Long Dim last As Long last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1 'letzte Zeile For i = 1 To txtW_Container last = last + 1 ActiveSheet.Cells(last, 3).Value = Me.txtDatum.Value ActiveSheet.Cells(last, 4).Value = Me.txtAuftragsnummer.Value & "-" & i ActiveSheet.Cells(last, 5).Value = Me.txtDestination.Value ActiveSheet.Cells(last, 6).Value = Me.txtProdukt.Value ActiveSheet.Cells(last, 7).Value = Me.txtMenge.Value ActiveSheet.Cells(last, 8).Value = Me.txtCharge.Value ActiveSheet.Cells(last, 9).Value = Me.txtFremd.Value ActiveSheet.Cells(last, 10).Value = Me.txtContainer.Value ActiveSheet.Cells(last, 11).Value = Me.txtPlombennummer.Value ActiveSheet.Cells(last, 12).Value = Me.txtZollplombe.Value ActiveSheet.Cells(last, 13).Value = Me.txtSchiff.Value ActiveSheet.Cells(last, 14).Value = Me.txtEta.Value ActiveSheet.Cells(last, 15).Value = Me.txtStatus.Value ActiveSheet.Cells(last, 16).Value = Me.txtW_Container.Value ActiveSheet.Cells(last, 17).Value = Me.txtInfo.Value ActiveSheet.Cells(last, 18).Value = Me.txtVersandstatus.Value End If End Sub
Gruß, Uwe
Registriert seit: 01.07.2023
Version(en): Pro Plus 2019
Next statt End If
Funktioniert perfekt! Vielen Dank für die Hilfe!
|