Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1228to1232
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

Messwerte aus verschiedenen Tabellenblättern

Messwerte aus verschiedenen Tabellenblättern
Sebatian
Hallo Forum,
ich hab folgendes Problem und hoffe auf eure Hilfe.
In einer Arbeitsmappe habe ich Messwerte abgelegt. Da die Messungen über mehrere Tage gehen, habe ich für jeden Tag ein eigenes Tabellenblatte angelegt.
In der gleichen Mappe möchte ich nun, in einem separaten Tabellenblatt, alle Daten nachdem Datum, der Messreihenfolge und in transponierter Form einfügen.
Bisher habe ich das von Hand gemacht, aber da ich immer wieder Veränderungen vornehmen muss wird das etwas lästig. Daher würde ich gerne ein Makro nutzen, das mir diese Routine abnimmt.
Da meine VBA-Kenntnisse etwas dürftig sind habe ich „quick & dirty“ den Makrorekorder bemüht. Leider muss immer noch Manuel das Datum des Tabellenblattes angeben, indem die Daten stehen. Außerdem noch die Zelle anklicken, ab der die Werte eingefügt werden sollen.
Zur Arbeitsmappe:
- Daten in jedem Tabellenblatt an der gleichen Stelle
- Anzahl der Messungen pro Tag kann unterschiedlich sein
- Zwischen den einzelnen Messungen ist immer eine Leerzeile
- Tabellenblätter sind mit nachdem Datum absteigend sortiert
Ich habe noch eine Bsp.-Datei erstellt vielleicht ist mein Anliegen damit etwas verständlicher.
https://www.herber.de/bbs/user/76602.xlsx
Gruß Sebastian
AW: Messwerte aus verschiedenen Tabellenblättern
14.09.2011 09:33:03
Tino
Hallo,
kannst mal testen.
https://www.herber.de/bbs/user/76606.xlsm
Müsstest die Datei nur als *.xlsm speichern, *.xlsx kann kein VBA.
Gruß Tino
AW: Messwerte aus verschiedenen Tabellenblättern
14.09.2011 18:06:55
Sebastian
Hallo Tino,
du hast da aber ganz schön viel Zeit investiert. Danke!
Leider funktioniert das Makro nur bei der Beispielmappe bzw. weiß ich nicht, wie ich es an die richtige Datei anpassen muss.
Ich habe das Format der richtigen Datei mal angehangen. Vieleicht kannst Du dir nochmal ein Bild davon machen.
https://www.herber.de/bbs/user/76619.xlsm
In dem Blatt "Auswertung" sollen wie gehabt die "Werte"(grün), aus den einzelnen Tagesmessungen transponiert eingefügt werden.
Die Anzahl der Tagesmessungen kann variieren (auch mehr als 8). Die Messungen stehen aber immer, sowie im Blatt 28.06.11, untereinander.
Ich hoffe, dass meine Erklärungen verständlich genug sind.
Gruß Sebastian
Anzeige
AW: Messwerte aus verschiedenen Tabellenblättern
15.09.2011 10:53:41
Tino
Hallo,
weiß zwar nicht wie sich eine Beispieldatei so anders auf einmal aufbauen kann?!
Aber egal so müsste es gehen.
https://www.herber.de/bbs/user/76626.xlsm
Gruß Tino
AW: Messwerte aus verschiedenen Tabellenblättern
15.09.2011 12:14:21
Sebastian
Hallo Tino,
sorry ich hab gehofft, dass das Beispiel ausreichend ist.
Ich bekomme immer noch eine Fehlermeldung, index außerhalb des gültigen Bereichs, an der folgenden Stelle:
ReDim Preserve ArrayTabName(1 To ThisWorkbook.Sheets.Count - 1)
Wenn ich mit der Maus auf die Markierung gehe, dann steht ThisWorkbook.Sheets.Count = 1
Gruß Sebastian
Anzeige
AW: Messwerte aus verschiedenen Tabellenblättern
15.09.2011 12:30:57
Tino
Hallo,
sorry aber bei mir kommt da keine Fehlermeldung.
An dieser stelle wird das Array ArrayTabName dimentiniert.
Also du hast die Tabelle Auswertung und eine x Anzahl weiterer Tabellen mit dem Datum als Namen.
Das Array muss also zum Anfang mintestens die größe Anzahl Tabellen - 1 (-1 ist die Tabelle Auswertung) haben.
ThisWorkbook steht für die Datei wo der Code läuft oder eingebaut ist, wenn Du die gerade aktive haben willst müsstest Du dies durch ActiveWorkbook ersetzen, dann müsstest Du aber auch noch sicherheitsabfragen einbauen damit dieser nicht ausversehen in der falschen Datei läuft.
Daher aus der Zeile Set oWSZiel = Sheets("Auswertung") müsste man besser
auch Set oWSZiel = ThisWorkbook.Sheets("Auswertung") machen.
Gruß Tino
Anzeige
AW: hier noch umgestellt auf ActiveWorkbook
15.09.2011 21:48:59
Sebkue
Hallo Tino,
das Makro läuft jetzt. Danke!
Eine Fehlermeldung kommt beim Durchlauf noch "nicht genügent Speicher". Wenn ich auf Debuggen drücke und dann den Code weiterlaufen lasse macht er aber weiter.
Gruß Sebastian
AW: hier noch umgestellt auf ActiveWorkbook
16.09.2011 10:51:33
Tino
Hallo,
dann müsste man dies über Rangeobjekte lösen, weil es zu viele Daten für ein Array sind.
Wieviele Daten hat Deine größte Tabelle?
Gruß Tino
AW: hier noch umgestellt auf ActiveWorkbook
16.09.2011 11:25:10
Tino
Hallo,
mach mal bei
ReDim Preserve ArrayTrans(1 To Columns.Count … die maximale Anzahl Spalten + einige mehr
als reserve die zum Schluss rauskommen können.
z. Bsp.

ReDim Preserve ArrayTrans(1 To 100, 1 To UBound(tmpData))
Diese Zeilen findest Du in der Function Messwerte(…), da gibt es zwei davon.
Sollte dies nicht gehen, müssten man die Anzahl ermitteln.
Gruß Tino
Anzeige
AW: hier noch umgestellt auf ActiveWorkbook
16.09.2011 20:09:22
Sebkue
Hallo Tino,
keine Ahnung, ob die Performance von meinem Laptop nicht ausreichend war, aber jetzt kommt die Fehlermeldung nicht mehr. Auch ohne deine Änderung.
Gruß Sebastian

324 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige