Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 20:05:21
28.04.2024 18:33:31
28.04.2024 18:25:12
28.04.2024 14:18:05
Anzeige
Archiv - Navigation
1916to1920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte in neue Tabelle kopieren

Werte in neue Tabelle kopieren
01.02.2023 11:43:22
Alex
Moin zusammen,
ich möchte gerne ein Makro schreiben, mit dem ich Werte aus einer Arbeitsmappe in eine andere kopiere. Die Tabellenstruktur der neuen Arbeitsmappe ist jedoch verändert. Kann mir jemand behilflich sein?
Die Bilder zeigen die erste Zeile der Ursprungstabelle sowie die zu generierende Tabelle. Da ich die generierte Tabelle am Ende als PDF speichern möchte, soll jeweils nach 15 Idf.Nr. die selbe Tabelle unter der vorherigen Tabelle erzeugt werden.
Ursprüngliche Tabelle:
Userbild
Neue Tabelle:
Userbild

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte in neue Tabelle kopieren
01.02.2023 12:29:03
Piet
Hallo Alex
mein Tipp ist, statt Bilder zwei Beispieldateien hochladen, da reichen 10-20 Zeilen, was du kopieren willst, und wie das Ergebnis aussehen soll.
Kein Kollege macht sich die Arbeit und erstellt auf Grund von Bildern eine Beispieldatei.
mfg Piet
AW: Werte in neue Tabelle kopieren
03.02.2023 11:53:16
Piet
Hallo
habe sie heruntergeladen, kann sie mir aber erst heute abend ansehen. Bitte um Geduld.
mfg Piet
Anzeige
AW: Werte in neue Tabelle kopieren
03.02.2023 19:45:38
Piet
Hallo Alex
anbei die Quelldatei mit Makro zum Testen. Bitte prüfe ob die Werte in der Zieltzbelle richtig zugeordnet wurden?
Im Augenblick habe ich Quelle und Ziel Tabelle beide in einer Mappe. Es geht mir heute nur um den Makro Test.
https://www.herber.de/bbs/user/157633.xls
Die Zieltabelle sollte vorher korrekt formatiert werden, den ich kopiere nur die Werte ohne Zahlen Formate!
Bitte mal mehr als 15 Zeilen eingeben und schauen wo das Makro weiterschreibt? Dern Abstand zur nachsten Tabelle müssen wir noch im Makro einstellen. Das musst du aber bitte selbst festlegen. Zur Zeit wrden 10 Leerzeilen eingefügt. Reicht das?
Frage, wo gibt es eine fertige leere Vorlage zum kopieren? Nach 15 Zeilen muss ich ja unten zuerst eine neue leere Tabelle kopieren. Wo bekomme ich die her?
mfg Piet
Anzeige
AW: Werte in neue Tabelle kopieren
06.02.2023 09:17:18
Alex
Moin Piet,
erstmal vielen Dank für deine großartige Unterstützung! Zu deiner ersten Frage bzgl. des Tabellenabstands habe ich mal geschaut, wann Excel eine neue Seite anfangen würde, wenn ich das ganze als PDF speichern würde. Demnach kann die neue Tabelle direkt da drunter beginnen, da ich das Format so angepasst habe, dass die unterste Zeile quasi der Abschluss einer ganzen Seite ist.
Nun zu deiner zweiten Frage. Eine Möglichkeit würde ich darin sehen, dass ich die Tabellenvorlage als eine Vorlage in Form eines Arbeitsblattes in der Excelmappe hinterlege. Eine andere Möglichkeit die ich auch schon umgesetzt habe ist, dass ich die Tabelle jedes Mal neu mittels Makro erstellen lasse. Hierbei bin ich mir aber unsicher, wie arbeitsaufwendig und dementsprechend zeitaufwendig das Ganze sein würde. Der Hintergrund dafür ist, dass in der Originaltabelle knapp 9000 Zeilen befüllt sind. Geht man davon aus, dass pro Zieltabelle 15 Zeilen eingefügt werden, kann man sich den Arbeitsaufwand ja vorstellen :D
Was meinst du, welche Lösung hier die Beste wäre?
Beste Grüße,
Alex
Anzeige
AW: Werte in neue Tabelle kopieren
06.02.2023 12:04:48
Piet
Hallo Alex
schön das du dich meldest, und der 1. Versuch offenbar gut klappt. Mit 9000 Zeilen habe ich nicht gerechnet!
Nun gut, wir können folgendes machen. Ich kann zuerst die LastZell ermitteln, durch 15 teilen, und die leere Vorlage ca. 600x nach unten kopieren. Dann ist das Thema erledigt. Im Bild sehe ich das unten noch Summenzeilen stehen. Müssen die mit kopiert werden? Zwischen der letzten Zeile und der neuen Tabelle sollte vielleicht eine Leerzeile sein? Oder soll sie direkt darunter sein? Das musst du mir bitte vorgeben. Sie sollte auch komplett formatiert sein, damit ich nur Werte kopiere.
Lass uns bitte mal schauen das wir das ans laufen bekommen, dann kann ich das Makro auf zwei Arbeitsmappen ändern.
Ich gehe davon aus das der Ordner immer gleich bleibt, oder?
Mich würde mal interessieren wie lange das Makro bei 9000 Zeilen läuft?
Über ein Array arbeiten wird schneller gehen, aber da sind viele Spalten zu dimensionieren!
In der Grössenordnung habe ich das noch nie programmiert, weiss nicht ob es klappen kann?
mfg Ğiet
Anzeige
AW: Werte in neue Tabelle kopieren
06.02.2023 13:10:28
Piet
Hallo Alex
ich habe dir eine neue Beispieldatei erstellt. Teste sie bitte mit deinen 9000 Daten!
Die Vorlage im Bereich "B3:M32" wird gelöscht, und alle Zeilen ab 38 nach unten, komplett.
Dann erstellt das neue Makro alle Vorlagen durch kopieren, und füllt sie nacheinander aus.
https://www.herber.de/bbs/user/157662.xls
Im Beispiel gibt es eine Leerzeile zwischen den Tabellen, Wenn die weg soll musst du 2 Werte aendern.
In der ersten For Next den Wert: t = t + 37 auf 36 setzen, und bitte noch hier aendern:
If lfNr = 15 Then lfNr = 1: z = z + 7 auf 6 setzen. Dann hast du die Folge Tabellen ohne Leerzeile!
Deine Aufgabe ist es nur noch die Tabellenvorlage komplett ausfüllen und Formatieren. Auch den unteren Bereich mit Formeln.
Links habe ich nur zum Testen mal die Uhrzeit eingebaut, um zu sehen wie lange das Makro bei 9000 Zeilen laeuft?
Prüfe bitte auch noch mal ob ich alle Spalten korrekt ausgefüllt habe. Irrtum möglich.
Frage: im Bild sehe ich in Spalte E unten den Text Lagerwert Blech und Restblech. Muss der Text nicht geaendert werden?
mfg Piet
Anzeige
AW: Werte in neue Tabelle kopieren
06.02.2023 15:37:20
Alex
Moin Piet,
nochmal danke für deine Unterstützung. Der Code läuft nur bedingt mit der Originaltabelle. Wenn ich
If lfNr = 15 Then lfNr = 1: z = z + 7 '7= 1 Leerzeile
so lasse, bekomme ich den Fehler, dass alle verbundenen Zellen dieselbe Größe haben müssen. Ich habe mal geschaut und festgestellt, dass die Daten ab der dritten Tabelle bereits in den Zellen eingefügt werden, welche für die Überschriften gedacht sind. Wenn ich die 7 durch eine 9 ersetze, funktioniert alles ohne Probleme, außer das eben bei der IdfNr. 1 zwei leeren Zeilen entstehen.
Kann man die IdfNr. eigentlich auch weiterführen? D.h. das bei der zweiten Tabelle mit 16 begonnen wird usw. ?
Die Lagerwerte müssen jede Seite entsprechend der summierten Werte der jeweiligen Tabelle angepasst werden.
Anzeige
AW: Werte in neue Tabelle kopieren
06.02.2023 19:17:06
Piet
Hallo Alex
die Überschreibfehler nüssten jetzt beseitigt sein. Die LaufNr wird jetzt weiter fortgeführt.
Ich habe aber keine Ahnung durch welche Formeln du ab Zeile 34 an die Summen kommst?
Und wie diese Formel weitergeführt werden muss? Gib mir das bitte im Beispiel von Hand vor.
Wenn ich den Zusammenhang verstehe, kann ich mit VBA in jeder Tabelle Formeln einfügen.
https://www.herber.de/bbs/user/157672.xls
mfg Piet
AW: Werte in neue Tabelle kopieren
07.02.2023 09:20:12
Alex
Moin Piet,
danke, das funktioniert einwandfrei! Das Makro benötigt 02:05 Minuten für den gesamten Vorgang. Bei der Anzahl an Daten ist das aber denke ich vertretbar. Vor allem wenn man sich überlegt, dass dieser Vorgang nur einmal pro Jahr durchgeführt wird. Es geht ja letztlich nur darum, die große Jahresabschlusstabelle der Übersicht wegen in einer abgespeckten Variante zu erstellen. Die Summen ab Zeile 34 setzen sich wie folgt zusammen:
Summierter Lagerwert des jeweiligen Typen (Fertige, Halbfertige, Handel, Blech, Restblech) pro Seite : In der Beispieltabelle ist nur der Typ Blech vertreten. Der summierte Lagerwert Blech für die ersten 15 Artikel würde entsprechend der Werte in der letzten Spalte bei 3229,17€ liegen.
Summe EK/HK : entspricht der Ʃ EK/HK aus Spalte J
Summe Abwert : bezieht sich auf die Summe (in €) der gesamten vorgenommenen Abwertungen (Abw) in Spalte K
Lagerwert : entspricht der Ʃ EK/HK abzüglich aller vorgenommenen Abwertungen
Ich hatte mir das dann so vorgestellt, dass die Summen auf jeder Seite fortgeführt werden. Sprich ich übernehme bspw. den auf Seite 1 ausgerechneten Lagerwert Blech sowie natürlich die Summer EK/HK, Summe Abwert, Summe Lagerwert und addiere die Werte auf Seite 2 von Seite 2.
Ich hoffe ich konnte das Ganze einigermaßen verständlich erläutern. Anderenfalls kannst du mir natürlich gerne bescheid geben.
Gruß Alex
Anzeige
AW: Werte in neue Tabelle kopieren
07.02.2023 12:49:25
Piet
Nachtrag: im Bild sah ich die Summe 3.228,17, fand aber nicht heraus wie die zustande kommt!
Ich denke den letzten Schritt, nur die richtigen Formeln einsetzten, ist für dich einfacher als für mich.
In diesem Sinne hoffe ich das alles zufriedenstellend laeuft.
mfg Piet
AW: Werte in neue Tabelle kopieren
09.02.2023 08:11:36
Alex
Moin Piet,
es hat alles geklappt. Habe die Formeln in die Summenfelder eingetragen und diese werden auch genauso wie sie sollen fortgeschrieben. Eine letzte Frage habe ich noch. Ich habe ja bereits erwähnt, dass ich die Zieltabelle später als PDF speichern möchte. Wie das per VBA funktioniert weiß ich auch. Mein einziges Problem im Moment ist, dass ich es nicht schaffe, genau eine Tabelle plus die darunterstehenden Summen auf genau eine PDF Seite zu drucken. Kannst du mir hier nochmal behilflich sein?
Hier nochmal die Datei:
https://www.herber.de/bbs/user/157742.xlsm
Gruß Alex
Anzeige
AW: meine letzte Version
07.02.2023 12:45:49
Piet
Hallo Alex
danke für deine letzte Rückmeldung, vor allem das der Code nur einmal im Jahr benutzt wird.
Dann sollte etwas Handarbeit zumutbar sei. Mein Vorschlag, kopiere deine Tabelle mit den 9000 Daten in diese Zieldatei (mit neuem Format xlsm speichern!) und lass das Makro in der Zieltabelle laufen. Danach kannst du die Original Datentabelle löschen, und die Zieltabelle manuell neu speichern. Das wird mir sonst zuviel Aufwand.
Im Bild habe ich gesehen das "Wert" in der Spalte L steht, und die Spalte "E-Wert pro Stück" nicht vorkommt. Wenn das korrigiert werden muss brauchst du nur eine Zeile im Code zu aendern. Sie ist mit ** markiert. Ziel.Cells(z, 13) = .Cells(j, 20) '** WERT muss nur auf 12 gesetzt werden!
Im neuen (letzten) Beispiel habe ich 2 leere Tabellen vorgesehen. In der ersten musst du noch in den roten Feldern die Formeln selbst eingeben, weil ich nicht weiss wo die Summen herkommen? Da kümmere ich mich nicht mehr drum! In der Tabelle darunter übernimmst du die Formeln, und fügst nur noch "+ C34" ,"+G34" "+M34" für die jeweilige Spalte dran, (s. Spalte Werte!) Dann übernimmt sie automatisch die Werte aus der Vorzelle. Diese erweiterte Formeln werden dann nach unten kopiert. Das ist der leichteste Weg um alles auszufüllen.
https://www.herber.de/bbs/user/157692.xls
Ich bin noch behilflich dass das Makro einwandfrei laeuft, aber die richtigen Formeln bitte selbst einfügen!
mfg Piet
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige