Wie kann ich in einer Excel Artikel- / Lagerliste eine Artikelzeile so oft kopieren wie der Bestand zu diesem Artikel ist (Bestand aus Zelle in der Zeile)?

... komplette Frage anzeigen

3 Antworten

Hallo,

Profis würfen dafür wahrscheinlich Visual Basic benutzen.

Ich habe mir überlegt, dass es auch ohne Programmierung gehen müsste.

Alls erstes müsste in der Ursprungstabelle ein Feld eingefügt, dass eine Nummer für jeden Artikel vergibt. Am besten 1, 2 usw.

In der Zieltabelle den 1. Datensatz kopieren mit dem neuen Feld einfügen. Davor ein weiteres Feld erstellen als Zähler.

In ihr würde die erste Anzahl des ersten Artikels eingetragen.

In der 2. Spalte der 2. Zeile würde geprüft oder der Zähler der 1. oberen Spalte 1 beträgt. In diesem Fall würde der Wert aus der oberen Zeile um 1 erhöht (2. Datensatz). Ansonsten der Wert aus der oberen Spalte übernommen.

In der 1. Spalte der 2. Zeile (Zähler) würde eine Formel  den Wert jedesmal reduzierten, solange der obige Zähler  > als 1 ist. Ansonsten würde über eine Verweis-Formel die Anzahl des nächsten Artikels eingetragen. Dies geschieht in Bezug auf den Wert in der 2. Spalte.

Alle Daten ab der 3. Spalte können nun über eiine Verweis-Formel in Bezug auf den Wert der 2. Spalte übertragen werden.

Ich habe das jetzt nicht testen können, aber es müsste so klappen.

Viele Grüße

Alfredas

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von M110270
12.05.2016, 15:26

Hallo Alfredas,  

super.  Ich kann das zwar erst in ca. 2 Std ausprobieren. Aber das klingt schon mal vielversprechend.  

Den Verweis sollte ich dann hinkriegen. 

Merci und Grüsse aus der Schweiz

Marc

0

Ich würde den Ansatz von jackie251 empfehlen - falls das irgendwie nicht praktikabel ist, geht es natürlich auch mit einem Makro

Sub druck()
k = 2 'ab Zeile 2 wird in Tabelle 2 geschrieben
For i = 2 To 5 'Anzahl der Einträge in der Haupttabelle
For j = 1 To Cells(i, 5).Value '5 = Spalte E -> anpassen wenn Menge woanders steht
Sheets("Tabelle1").Range(Cells(i, 1), Cells(i, 7)).Copy Destination:=Sheets("Tabelle2").Cells(k, 1)
k = k + 1
Next j
Next i
End Sub
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von M110270
13.05.2016, 10:09

Lieber Ninombre

Vielen Dank - das Makro funktioniert perfekt. Genau das was ich brauche.  Sehr sehr cool. 

Vielen Dank an Dich und die Kollegen Excel Spezialisten hier. 

Merci und Gruss aus Bern

Marc

0

Ich würde in Tabelle 1 eine Hilfspalte anlegen, mit der man die Zeilennummer des ersten auftretens dieses Produktes ermittel

also in Zeile 2 mit 0 anfangen und dann

=SUMME($E$2:E2)+1

Danach kann mit Spalte G in Tabelle 2 mit den passenden EAN füllen lassen

zB mittel s

=INDEX(Tabelle1!$G$2:$G$10;VERGLEICH(ZEILE();Tabelle1!$K$2:$K$10;1))

Wenn in Spalte K der Tabelle 1 die Hilfswerte stehen. Damit hat man die gewünschte Häufigkeit der EAN und die restwerte lassen sich mit Index/Vergleich einfach aus der EA ermitteln

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von M110270
12.05.2016, 15:03

Vielen Dank für die schnelle Antwort.  Obwohl ich nicht grad der Pro bin sehe ich, dass hier nur der EAN Code gesucht wird.  Ich müsste aber die gesamt Zeile auf der neuen Tabelle haben. Also sowohl den EAN Code wie auch HWGR, WGR, Preis, etc.. einfach die ganze Zeile kopieren. Grund: beim Label Drucken ist jede Zeile ein Label - das Label Programm kann nicht aus einer Zeile automatisch erkennen wieviele davon zu drucken sind. Und das wird dann bei mehreren 100 Artikeln auch manuell nicht mehr so gut möglich (Print --> Anzahl... ) 

Vielen vielen Dank !  

Marc

0