Excel: Bestimmte Infos aus mehreren csv Dateien auslesen und in einer Excel Datei zusammenführen
Hallo Leute,
ich bräuchte mal wieder eure hilfe in Sachen EXCEL - ich hoffe ihr könnt mir weiterhelfen, das wäre eine feine SACHE!
Und zwar habe ich von einer Messstelle ca. 265 csv Dateien wobei jede Datei einem Tag entspricht.
In jeder einzelnen Datei wurden in einem Zeitintervall Werte (Date, Time, Durchfluss1, Durchfluss2, lt101 cm, lt102 cm und tt101 C) erfasst.
Date = Datum
Time = Zeitintervall der Messung
Durchfluss1 = l/s
Durchfluss2 = l/s
lt101 cm = Höhe1
lt102 cm = Höhe2
tt101 C = Temperatur
Ich würde jetzt gerne aus allen von diesen 259 Excel- Dateien den höchsten Wert vom Durchfluss1 und Durchfluss 2 herausfiltern und die dazugehörigen Werte von „lt101 cm“ „lt102 cm“ und „tt101 C“(es gibt auch Tage wo es keinen Durchfluss gibt); und in eine eigene Excel Datei spielen.
Damit man eine bessere Übersicht über die ganzen gesammelten Wert erhält.
Die neue Excel Datei sollte dann das jeweilige Datum und den jeweiligen höchsten Wert Durchfluss 1 und 2 (sofern vorhanden) inkl. der Daten „lt101 cm“ „lt102 cm“ und „tt101 C“ zum passenden höchsten Durchfluss Ergebnis haben.
Ich hoffe es kann mir da wer weiterhelfen. Besten DANK für eure HILFE und ZEIT!
Hier der LINK wo ich ein paar Excel Files zum downloaden zusammengestellt habe: http://we.tl/VEAjTs0nrE
DANKE
lg
sims
ich bräuchte mal wieder eure hilfe in Sachen EXCEL - ich hoffe ihr könnt mir weiterhelfen, das wäre eine feine SACHE!
Und zwar habe ich von einer Messstelle ca. 265 csv Dateien wobei jede Datei einem Tag entspricht.
In jeder einzelnen Datei wurden in einem Zeitintervall Werte (Date, Time, Durchfluss1, Durchfluss2, lt101 cm, lt102 cm und tt101 C) erfasst.
Date = Datum
Time = Zeitintervall der Messung
Durchfluss1 = l/s
Durchfluss2 = l/s
lt101 cm = Höhe1
lt102 cm = Höhe2
tt101 C = Temperatur
Ich würde jetzt gerne aus allen von diesen 259 Excel- Dateien den höchsten Wert vom Durchfluss1 und Durchfluss 2 herausfiltern und die dazugehörigen Werte von „lt101 cm“ „lt102 cm“ und „tt101 C“(es gibt auch Tage wo es keinen Durchfluss gibt); und in eine eigene Excel Datei spielen.
Damit man eine bessere Übersicht über die ganzen gesammelten Wert erhält.
Die neue Excel Datei sollte dann das jeweilige Datum und den jeweiligen höchsten Wert Durchfluss 1 und 2 (sofern vorhanden) inkl. der Daten „lt101 cm“ „lt102 cm“ und „tt101 C“ zum passenden höchsten Durchfluss Ergebnis haben.
Ich hoffe es kann mir da wer weiterhelfen. Besten DANK für eure HILFE und ZEIT!
Hier der LINK wo ich ein paar Excel Files zum downloaden zusammengestellt habe: http://we.tl/VEAjTs0nrE
DANKE
lg
sims
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 252667
Url: https://administrator.de/contentid/252667
Ausgedruckt am: 19.12.2024 um 14:12 Uhr
5 Kommentare
Neuester Kommentar
Hallo
Probier mal diesen Code
Gruss Urs
Probier mal diesen Code
Sub CSV_Import()
Dim vntaDateien As Variant
Dim lngI As Long
Dim lngLetzteZeile As Long
Dim wbkCSV As Workbook
Dim wksZiel As Worksheet
Dim rOut As Range
Set rOut = Range("A1")
lngLetzteZeile = 1
With rOut.Range("A1:G1").Resize(rOut.Worksheet.Rows.Count - rOut.Row + 1)
.ClearContents
.Rows(1).Value = Split("Date,Time,Durchfluss1,Durchfluss2,lt101 cm,lt102 cm,tt101 C", ",")
End With
lngLetzteZeile = 1
vntaDateien = Application.GetOpenFilename _
("csv-Dateien (*.csv), *.csv", MultiSelect:=True)
If IsArray(vntaDateien) Then
Set wksZiel = ThisWorkbook.Sheets(1)
For lngI = 1 To UBound(vntaDateien)
lngLetzteZeile = wksZiel.UsedRange.Rows.Count
lngLetzteZeile = ActiveSheet.Cells(1048576, 1).End(xlUp).Row
Set wbkCSV = Workbooks.Open(vntaDateien(lngI), local:=True)
'sortieren
wbkCSV.Worksheets(1).Sort.SortFields.Clear
wbkCSV.Worksheets(1).Sort.SortFields.Add Key:=Range("C2:C1048576"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
wbkCSV.Worksheets(1).Sort.SortFields.Add Key:=Range("D2:D1048576"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With wbkCSV.Worksheets(1).Sort
.SetRange Range("A1:G1048576")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.Apply
End With
'Zeilen 3 bis Ende löschen
wbkCSV.Worksheets(1).Rows("3:1048576").Delete shift:=xlUp
'Dateiname kopieren
'wksZiel.Cells(lngLetzteZeile + 1, 1) = vntaDateien(lngI)
'Bereich kopieren
'wbkCSV.Sheets(1).UsedRange.Copy Destination:=wksZiel.Cells(lngLetzteZeile + 2, 1)
'nur die 2. Zeile kopieren
wbkCSV.Sheets(1).Rows("2:2").Copy Destination:=wksZiel.Cells(lngLetzteZeile + 1, 1)
wbkCSV.Close False
Next
End If
wksZiel.Columns("A:G").EntireColumn.AutoFit
With wksZiel.Columns("A:G")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
End Sub
Gruss Urs