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

Zusammenfassen von Messwerten

Zusammenfassen von Messwerten
16.10.2018 10:55:52
Messwerten
Hallo Zusammen,
ich nutze VBA recht selten und bin daher auch nicht sehr gut darin.
Ich bin aktuell dabei Messwerte die kontinuierlich erweitert werden in einer Tabelle zusammenzufassen. Dabei werden Messwerte Tageweise erfasst, tagweise in einzelnen separaten Tabellenblättern zusammengefasst und per makro bearbeitet. Final sollen alle Tagesauswertungen in einem Tabellenblatt zusammengefasst werden.
Das Makro dafür habe ich hier bei euch im Forum gefunden und das funktioniert auch.

Sub Werte_Zusammenführen()
Dim i As Integer
Dim LRow As Long
Application.ScreenUpdating = False
'neue Tabelle an die erste Position einfügen
Sheets.Add Before:=Sheets(1)
For i = 2 To Sheets.Count
'Ermitteln den benutzen Bereich der einzelnen Tabellenblätter
With Sheets(i)
LRow = .Cells(Rows.Count, 1).End(xlUp).Row
.Range("J1:N1" & LRow).Copy
Sheets(1).Cells(Rows.Count, "A").End(xlUp)(2).PasteSpecial xlPasteValues
End With
Next
Application.ScreenUpdating = True
End Sub

Jetzt stehe ich allerdings vor dem Problem, dass ich für die Auswertung eine fortlaufende Zeit erfassen muss. Diese jedoch in den tagesbezogenen Auswertungen immer bei 0 beginnt. In der Zusammenfassung dann also keine fortlaufende Zeit auftaucht.
Mein Plan wäre beim zusammenfasse der Werte in einem neuen Tabellenblatt den letzten Zeitwert einer Tagesauswertung zu kopieren und mit den Zeitwerten des nächsten Tabellenblattes zu addieren. Das natürlich wieder fortlaufen mit dem jeweils nachfolgenden Tabellenblatt.
Als Formel natürlich kein Problem allerdings handelt es sich um viele Daten so dass eine händische Nacharbeit extrem aufwendig ist. Und meine VBA Kenntnisse reichen dazu leider nicht mehr aus.
Kann mir jemand helfen?
Danke vorab!
Gruß
Simon

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zusammenfassen von Messwerten
16.10.2018 12:47:03
Messwerten
Hallo Simon,
kannst Du mal ne Datei hochladen? Was meinst Du außerdem mit Zeitwert aufaddieren?
Gruß,
Robert
AW: Zusammenfassen von Messwerten
16.10.2018 15:01:33
Messwerten
Hallo Rob,
Ich habe die Datenmenge stark reduzieren müssen um die maximale Dateigrösse nicht zu überschreiten. Das Makro um die Daten in eine Tabelle zu schreiben musst du noch ausführen. Im Original sind sehr viel mehr Messwerte drin.
Grundsätzlich habe ich aber Messwerte pro Tag jeweils in Tabellenblättern abgelegt. Die Laufzeit geht dann immer von 0 - 24 Stunden. Wenn ich die Messwerte einzelner Tage in einem Blatt zusammenfasse geht meine Laufzeit immer von 0-24 und wiederholt sich. Später will ich aber im Diagramm meine gemessenen Werte von 0 - 1000h oder mehr darstellen.
https://www.herber.de/bbs/user/124659.zip
Simon
Anzeige
AW: Zusammenfassen von Messwerten
16.10.2018 15:11:17
Messwerten
Kannst Du den Code noch posten? Ne .xlsm sollte man aus Sicherheitsgründen nicht öffnen, hab ich mir sagen lassen.
AW: Zusammenfassen von Messwerten
16.10.2018 15:31:53
Messwerten
Hi Rob,
war das nicht ne .zip Datei?
Sorry!
Hier nochmal der Code:

Sub Werte_Zusammenführen()
Dim i As Integer
Dim LRow As Long
Application.ScreenUpdating = False
'neue Tabelle an die erste Position einfügen
Sheets.Add Before:=Sheets(1)
For i = 2 To Sheets.Count
'Ermitteln den benutzen Bereich der einzelnen Tabellenblätter
With Sheets(i)
LRow = .Cells(Rows.Count, 1).End(xlUp).Row
.Range("J1:N1" & LRow).Copy
Sheets(1).Cells(Rows.Count, "A").End(xlUp)(2).PasteSpecial xlPasteValues
End With
Next
Application.ScreenUpdating = True
End Sub

Wie gesagt den habe ich auch aus dem Forum. Es werden alle Tabellenblätter nacheinander durchsucht und alle Werte aus den Spalten J1 bis N1 kopiert und fortlaufen untereinander in ein neues Tabellenblatt kopiert.
Ich werde versuchen das .xls File nochmals richtig auf den Server zu laden!
Simon
Anzeige
AW: Zusammenfassen von Messwerten
16.10.2018 16:31:13
Messwerten
Ja das lässt sich bewerkstelligen. Ich kann den Code heute abend schreiben.
AW: Zusammenfassen von Messwerten
16.10.2018 22:31:03
Messwerten
Benötigst Du eigentlich in der Zusammenfassung jeweils die Überschrift von jedem Arbeitsblatt? Macht es nämlich etwas komplizierter...
AW: Zusammenfassen von Messwerten
16.10.2018 22:49:29
Messwerten
Also wenn Du mit nur einer Überschrift leben kannst, dann versuche mal folgenden Code:

Sub Kumulieren()
Dim startCumulate As Long
Dim i As Long
startCumulate = Sheets(2).Cells(Rows.Count, 10).End(xlUp).Row + 2
For i = startCumulate To Sheets(1).UsedRange.Rows.Count + 1
With Sheets(1)
.Cells(i, 2) = .Cells(i, 2) + .Cells(i, 2).Offset(-1, 0)
End With
Next i
End Sub

Anzeige
AW: Zusammenfassen von Messwerten
17.10.2018 08:15:42
Messwerten
Hallo Rob,
Danke erst mal für die Hilfe. Das übersteigt echt meine VBA Kenntnisse.
Eine Überschrift benötige ich nicht.
Wenn ich das recht verstehe ersetzt dein Code den von mir bisher benutzten, oder?
Leider funktioniert er nicht. Habe einige Varianten versucht, ich verstehe das aber so dass ich ein neues Tabellenblatt zum kumulieren der Daten erstelle und dort den Code ausführe.Passieren tut nichts, auch keine Fehlermeldung!
Ich habe dir nochmals meine Vorlage als .xlsx hichgeladen, ohne Makros.
https://www.herber.de/bbs/user/124676.zip
Gruß
Simon
Gruß
Simon
Anzeige
AW: Zusammenfassen von Messwerten
17.10.2018 10:02:04
Messwerten
Hi Simon,
Du musst beide Codes zusammenfassen. Ich habe den ersten noch angepasst, dass Du nur eine Überschrift in der Zusammenfassung hast:

Sub Werte_Zusammenführen()
Dim i As Long
Dim LRow As Long
Application.ScreenUpdating = False
'neue Tabelle an die erste Position einfügen
Sheets.Add Before:=Sheets(1)
For i = 2 To Sheets.Count
'Ermitteln den benutzen Bereich der einzelnen Tabellenblätter
With Sheets(i)
LRow = .Cells(Rows.Count, 1).End(xlUp).Row
.Range("J2:N" & LRow).Copy
Sheets(1).Cells(Rows.Count, "A").End(xlUp)(2).PasteSpecial xlPasteValues
End With
Next
'Überschrift in kumulierte Tabelle einfügen
Sheets(2).Range("J1:N1").Copy Sheets(1).Range("A1:E1")
'Mittelwert Zeit fortlaufend kumulieren
Dim startCumulate As Long
startCumulate = Sheets(2).Cells(Rows.Count, 10).End(xlUp).Row + 1
For i = startCumulate To Sheets(1).UsedRange.Rows.Count
With Sheets(1)
.Cells(i, 2) = .Cells(i, 2) + .Cells(i, 2).Offset(-1, 0)
End With
Next i
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Zusammenfassen von Messwerten
17.10.2018 13:36:11
Messwerten
Hallo Rob,
funktioniert Super. Danke schon mal dafür.
ich benötige aber die Zeiten addiert mit dem letzten Zeitwert aus dem vorherigen Messblock. Alle weiteren darauffolgenden Werte dann auch mit dem letzten Zeitwert aus dem vorhergegangenen Messblock.
Ich habe es nochmal in dem angehängten Bild dargestellt indem ich eine zusätzliche Spalte eingefügt habe die die Zeit enthält so wie Sie sein sollte.
Kannst du mich hier nochmal unterstützen?
Vielen Dank schon mal für Deine Mühen!
Userbild
Simon
Anzeige
AW: Zusammenfassen von Messwerten
17.10.2018 16:23:34
Messwerten
Das ist etwas komplizierter. Muss ich mir mal anschauen, weiß aber nicht, ob ich heute noch dazu komme.
AW: Zusammenfassen von Messwerten
17.10.2018 22:20:39
Messwerten
Versuch mal den folgenden Code. Sollte jetzt passen:

Option Explicit
Sub Kumulieren()
Worksheets.Add before:=Sheets(1)
Dim i As Integer
Dim x As Long
Dim arrCumulate()
Dim lastRow As Long
Dim lastRow2 As Long
'Mittelwerte als Basis aus Sheets(2) für die Zusammenfassung in Sheets(1) kopieren
Sheets(2).Range("J1:N" & Sheets(2).Cells(Rows.Count, 14).End(xlUp).Row).Copy _
Sheets(1).Range("A1")
For i = 3 To Sheets.Count
'Array Range aus Arbeitsblättern zuweisen
arrCumulate = Sheets(i).Range("J2:N" & Sheets(i).Cells(Rows.Count, 14).End(xlUp).Row). _
Value2
For x = LBound(arrCumulate) To UBound(arrCumulate)
'letzter Mittelwert aus Sheet(1) als Basis für Kumulierung
lastRow = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
arrCumulate(x, 2) = arrCumulate(x, 2) + Sheets(1).Cells(lastRow, 2).Value2
Next x
'Letzte Zeile in Sheets(1) ermitteln und anschl. kumuliertes Array ausschütten
lastRow = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1
lastRow2 = Sheets(i).Cells(Rows.Count, 14).End(xlUp).Row - 2
Sheets(1).Range("A" & lastRow & ":E" & lastRow + lastRow2).Value = arrCumulate
Next i
End Sub

Anzeige
AW: Zusammenfassen von Messwerten
18.10.2018 07:57:56
Messwerten
Hallo Rob,
der Code läuft noch auf fehler. Habe dir ein Bild mit angehängt. Ich vermute das Problem ist die Formel hinter den kopierten Werten so dass beim einfügen der Bezug fehlt. Hast du hierzu noch eine Lösung?
Für mich ist das schon einwenig zu hoch!
Danke!
Userbild
Gruß
Simon
AW: Zusammenfassen von Messwerten
18.10.2018 08:16:31
Messwerten
Versuch es mal damit: Den ganzen Code mit Strg+A markieren, anschließend Strg+H um Value2 mit Formula zu ersetzen u alle ersetzen. Er müsste dann zwei Werte ersetzt haben.
AW: Zusammenfassen von Messwerten
18.10.2018 09:16:08
Messwerten
Hallo Rob,
funktioniert hervorragend. Danke für deine Hilfe!!!!
Gruß
Simon
Anzeige
AW: Zusammenfassen von Messwerten
18.10.2018 09:22:19
Messwerten
Freut mich!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige