Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Ersten und letzten Wert einer Messreihe kopieren





Frage

Hallo, ich habe eine große Messreihe. Ich möchte den ersten und den letzten Wert einer Reihe in ein 2. Tabellenblatt mit dazugehörigem Datum kopieren. Dabei interessieren mich nur das Datum und der dazugehörige Wert des Beginns und des Endes der Aufzeichnung. Das Beispiel macht es etwas deutlicher: Die Messreihe hat folgendes Format: 1.1.06 2.1.06 3.1.06 4.1.06 5.1.06 Proband 1 10 10 8 [leer] [leer] Proband 2 [leer] 20 [leer] [leer] 15 Proband 3 10 [leer] 8 12 [leer] Am Ende soll die Tabelle auf einem anderen Tabellenblatt so aussehen: 1. Datum 1. Wert Letztes Datum Letzter Wert Proband 1 1.1.06 10 3.1.06 8 Proband 2 2.1.06 20 5.1.06 15 Proband 3 1.1.06 10 4.1.06 12 Es geht dabei um mehrere tausend Probanden über etwas mehr als ein halbes Jahr. Wie auch in dem Beispiel, ist die Messreihe manchmal (auch für mehrere Tage) unterbrochen, d.h. leere Zellen. Ein Makro müsste also für den 1. Wert zeilenweise beginnend ab Spalte 2 die erste nichtleere Zelle finden und mit dazugehörigem Datum (Spaltenüberschrift) in ein neues Tabellenblatt kopieren. Für den letzten Wert müsste rückwärts ab Spalte 256 gesucht werden. Für Hilfe bin ich sehr dankbar.

Antwort 1 von Aliba

Hi,

wenns auch ne Formellösung sein darf, dann schau mal hier:

http://www.netupload.de/detail.php?img=54a5a3b6bee03fc9646bc81230e2...


CU Aliba

Antwort 2 von DukeNT

Hi,
oder per Macro:
Sub auswerten()
Set tb1 = Sheets("Tabelle1")
Set tb2 = Sheets("Tabelle2")
lZeile = tb1.Range("A65500").End(xlUp).Row
For a = 2 To lZeile
lDatum = tb1.Cells(a, 256).End(xlToLeft).Column
lWert = tb1.Cells(a, 256).End(xlToLeft).Value
If tb1.Cells(a, 2).Value = "" Then eDatum = tb1.Cells(a, 1).End(xlToRight).Column: _
eWert = tb1.Cells(a, 1).End(xlToRight).Value Else eDatum = tb1.Cells(a, 2).Column: _
eWert = tb1.Cells(a, 1).End(xlToRight).Value
tb2.Cells(a, 2).Value = tb1.Cells(1, eDatum).Value
tb2.Cells(a, 3).Value = eWert
tb2.Cells(a, 4).Value = tb1.Cells(1, lDatum).Value
tb2.Cells(a, 5).Value = lWert
Next
End Sub

Gruß Duke

Antwort 3 von mbo030

Super, funktioniert beides wunderbar. Vielen Dank!

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: