Clever-Excel-Forum

Normale Version: Spalten unter Bedingung auf entsprechende Seite kopieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Zusammen,

Ich habe eine Excelstückliste die unter anderm folgende Punkte enthält:
Stückzahl - Benennung - Fertigungsart

Unter Fertigungsart steht Beispielsweise:
Eigenfertigung
Zukauf
Zuschnitt
uvm.
 
Ich habe es schon geschafft, mit VBA Blätter für die einzelnen Fertigungsarten anlegen zu lassen.
 
Allerdings brauche ich ab hier Hilfe. Wie schaffe ich es, die einzelnen Spalten auf die ensprechenden Seiten zu kopieren?
Dazu kommt noch, das ein Teil mehrfach in der Liste vorkommen kann. In diesem Fall müsste es zu dem entsprechendem Teil addiert werden.
 
Im Anhang befinden sich zwei vereinfachte Tabellen. Eine, wie es zur Zeit ist, und eine, in der ich das gewünschte Ergebnis mit Hand ausgefüllt habe.

Vielen Dank schonmal für eure Hilfe.

Gruß
Hola,

verlinkst du bitte deine Fragen in den verschiedenen Foren untereinander?
Danke.

Gruß,
steve1da
Hallo,

in xl2016 ginge es wohl mit Pivot, in alten Versionen ???

Versuche: Menü "Daten" "SpecialFilter"

Zumindest im 2. Anlauf kann man auch in ein anderes Blatt kopieren.


mfg
Hm, lässt sich das auch mit VBA realisieren?


@steve1da
Sobald ich eine Lösung habe verlinke ich es.
Hallo,

Zitat:Sobald ich eine Lösung habe verlinke ich es.

das ist der falsche Weg! Sofort zu verlinken wäre der richtige, denn ohne zu wissen, welcher Nachbar das ist, kann niemand nachvollziehen, wie weit bereits Lösungsvorschläge gediehen sind. Dementsprechend wirst du aller Voraussicht nach hier keine Antworten mehr bekommen. Es mag in der Regel niemand für den Papierkorb arbeiten.
Bingo. Es ist genau das passiert:

http://www.vba-forum.de/forum/View.aspx?...e_kopieren

Gruß,
steve1da
Gelobe Besserung!

Da die Lösung nach ein paar Tagen von der Austauschseite gelöscht wird, ist die Tabelle hier nochmal im Anhang.
Hi,

und was ist jetzt das Problem?
Das enthaltene Makro macht doch genau, was Du willst!

Tipp:
Hier (und in den weiteren Stellen)
Code:
For Each rng In .Range("C2:C" & Lz & "")

ist das rechte &"" überflüssig
Code:
For Each rng In .Range("C2:C" & Lz)
Hallo,

ja, das Makro macht das Richtige, nur versuche ich es nun auf meine komplette Tabelle anzuwenden und dazu muss ich es verstehen.
Es fängt schon bei dem:

Code:
.Range("C2:C" ...
an.

Welcher Bereich wird damit ausgewählt?

Danke das doch noch wer antwortet :)
Hi,

bei so einem komplexen Makro ist es als Anfänger schwer!

Wenn Du Dir Deine gepostete Beispieldatei anschaust, dann siehst Du, daß in Spalte C die Fertigungsart steht. Also wird
Code:
.Range("C2:C" ...
wohl in dieser Spalte nach den Namen suchen. Wenn die wo anders stehen, dann muß die entsprechende Spalte verwendet werden.

Ich habe mal Deine Spalte C nach L verschoben, da in Deiner anderen Datei die Spalte L diejenige der Fertigungsart ist.

Den Rest des Makros habe ich so verändert, daß dann Deine 3 seitherigen Spalten übertragen werden. Das Übertragen der restlichen 10 Spalten ist noch nicht implementiert, da ich immer Schwierigkeiten habe, eine Arrayprogrammierung zu verstehen und nachzuvollziehen/anzupassen/zu erweitern.
[attachment=19748]

Auf die "Bestellliste automatisch" habe ich es auch angepasst. Dazu müssen aber momentan die beiden Spalten "Stufe" und "Anzahl" des Blattes "tmp" vertauscht werden.
[attachment=19751]
Seiten: 1 2