Hallo M.O.,
danke für die Hilfe.
Ich muss bei meiner Beschreibung des Problems nochmal ansetzen.
Es sollen von ersten Tabellenblatt "Erfassung" verschiedene Daten aus den Zeilen 4 in ein zweites Tabellenblatt "Auswertung" kopiert werden. Dann wird von dem zweiten TB eine Kopie erstellt und entsprechend einer bestimmten Zeile umbenannt. Als nächste passiert das ganze mit der Zeile 5 des ersten TB, dann mit Zeile 6 usw., bis zum Tabellenende. Wenn das Makro fertig ist, habe ich soviele Tabellenblätter wie Zeilen von 4-Tabellenende im ersten TB vorhanden sind.
Das Kopieren der Daten von den Spalten A bis V klappt (hier sind die Zellen alls statisch im zweiten TB), ebenso das Kopieren und Umbenennen der Tabellenblätter.
Mein Problem: Die Einträge der Spalten X bis AB, jeweils Zeile 4 vom ersten Tabellenblatt sollen dynamisch in die Zellen der Zeilen 30 bis 34 des zweites Tabellenblatt kopiert werden.
Also wenn z.B. der Wert in der vierten Zeile der Spalte X grösser ist als 0,001, soll dieser Wert ins zweite TB in Zeile 30 Spalte E und der Eintrag (Text) aus Zeile 2 der selben Spalte X des ersten TB ins zweite TB in Zeile 30 Spalte A kopiert werden.
Wenn jedoch in der dritten Zeile im 1. TB der Wert in der Spalte X kleiner als 0,001 oder die Zelle leer ist, soll im zweiten TB weder der Wert dieser Zelle in die Zeile 30, Spalte E noch der Eintrag von der zweiten Zeile derselben Spalte aus dem ersten TB übernommen werden.
Das gilt dann entsprechend auch für die Spalten Y bis AB, die dann jeweils in die Zeilen 31 bis 34 ins zweit TB kopiert würden oder eben auch nicht (je nachdem, ob der Wert über 0,001 oder darunter ist)
Wenn von einer der Wert einer Spalten X bis AB aufgrund der Bedingungen (<0,001) nicht übernommen wird, soll allerdings im zweiten Tabellenblatt keine Leerzeile im Bereich der Zeilen 30-34 entstehen.
Als Beispiel mal für die Zeilen 4 vom 1. Tabellenblatt "Erfassung" (wenn alle Werte über 0,001 liegen):
SpalteX SpalteY SpalteZ SpalteAASpalteAB
Zeile2 ZZahl1 ZZahl2 ZZahl3 ZZahl4 ZZahl5
Zeile3
Zeile4 0,15 200 0,01 1,2 10
Das würde dann so aussehen im Zweiten Tabellenblatt "Auswertung" (alle Zeilen/Zellen befüllt):
SpalteA SpalteB SpalteC SpalteD SpalteE
Zeile 30 ZZahl1 = 0,15
Zeile 31 ZZahl2 = 200
Zeile 32 ZZahl3 = 0,01
Zeile 33 ZZahl4 = 1,2
Zeile 34 ZZahl5 = 10,0
Im nächsten Beispiel sind im 1.TB einige Werte kleiner als 0,001 bzw. es gibt leere Zellen:
SpalteX SpalteY SpalteZ SpalteAASpalteAB
Zeile2 ZZahl1 ZZahl2 ZZahl3 ZZahl4 ZZahl5
Zeile3
Zeile4 200 0,0001 1,2 10
Das soll dann so aussehen:
SpalteA SpalteB SpalteC SpalteD SpalteE
Zeile 30 ZZahl2 = 200
Zeile 31 ZZahl4 = 1,2
Zeile 32 ZZahl5 = 10,0
Zeile 33
Zeile 34
Das ganze soll dann auch für weitere Zeilen aus dem 1.TB gelten, die jweils dann in die neu erstellten/kopierten Tabellenblätter eingefügt werden, diese Tabellenblätter werden im Bereich der Zeilen 30-34 unterschiedlich aussehen (je nach Ausgangslage der zugehörigen Zeilen im 1.TB, Spalten X-AB)
Ein anderer Lösungsansatz wäre, wenn immer alle Zellen übertragen werden (egal ob leer, großer oder kleiner Wert), und dann die Zeilen ausgeblendet wären, wo die Werte kleiner als 0,001 oder sie Zellen leer sind.
Das würde dann so aussehen (die Zeilen 31 und 33 sind ausgeblendet):
SpalteA SpalteB SpalteC SpalteD SpalteE
Zeile 30 ZZahl2 = 200
Zeile 32 ZZahl4 = 1,2
Zeile 34 ZZahl5 = 10,0
In diesem Fall müssten für jede ausgeblendete Zeile zwischen Zeile 30 und 34 jeweils eine Zeile zwischen Zeile 36 und 41 zusätzlich eingeblentet werden, um das Format des 2.TB zu erhalten.
Leider klappt das mit der Dastellung der Zeilen und spalten hier nicht so gut, ich hoffen man kann es trotzdem verstehen.
Hier ist eine Beispieldatei :
www.file-upload.net/download-12281854/Dateneintrag.xls.html]Dateneintrag.xls
MfG
Ralf