CRV-Datei auslesen und in Excel konvertieren?
Hallo zusammen,
Für ein Projekt an der Hochschule sollen wir eine Prozessfähigkeitsanalyse mit Excel durchführen.
Die Daten die wir erhalten sind allerdings CRV-Dateien?????
Wir bekommen pro Analyse ca. 50 CRV-Dateien in einem Ordner, aus diesen soll jeweils der Höchstwert herausgesucht werden und in einer Excel-Datei automatisch hinterlegt werden in der Reihenfolge wie die Dateien im Ordner sind.
Diese neue Excel-Datei mit den Höchstwerten muss dann wieder in unsere Erstellte Excel-Datei:

an der Stelle Rechnung! B:3 abwärts (Maximale Messwerte).
(ist das alles überhaupt realisierbar?)
Es wäre wirklich super wenn mir jemand weiter helfen könnte da ich mich da überhaupt nicht auskenne :/
Liebe Grüße
Lisa110
Für ein Projekt an der Hochschule sollen wir eine Prozessfähigkeitsanalyse mit Excel durchführen.
Die Daten die wir erhalten sind allerdings CRV-Dateien?????

Diese neue Excel-Datei mit den Höchstwerten muss dann wieder in unsere Erstellte Excel-Datei:

an der Stelle Rechnung! B:3 abwärts (Maximale Messwerte).
(ist das alles überhaupt realisierbar?)
Es wäre wirklich super wenn mir jemand weiter helfen könnte da ich mich da überhaupt nicht auskenne :/
Liebe Grüße
Lisa110
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 305933
Url: https://administrator.de/forum/crv-datei-auslesen-und-in-excel-konvertieren-305933.html
Ausgedruckt am: 20.06.2025 um 22:06 Uhr
15 Kommentare
Neuester Kommentar

Die Daten die wir erhalten sind allerdings CRV-Dateien?????
Und wie sieht der Inhalt so einer Datei aus ??ist das alles überhaupt realisierbar?
jaBeispiele gibts ja im Forum genug, z.B. hier: Excel Makro um CSV Dateien auszuwerten und gesammelt anzuzeigen.
Gruß skybird

Das sind binär kodierte Daten. Sag deinem vorgesetzten das du die Daten in einem allgemein text-lesbaren Format benötigst, z.B. als CSV. Das sollte derjenige mit dem Programm das die Daten erzeugt hat normalweise recht einfach in dieses Format exportieren können. Mit Excel-Bordmitteln kannst du mit diesen Dateien nichts anfangen.
Könnte unter anderem von diesem Programm stammen: VCarve Pro Design
Könnte unter anderem von diesem Programm stammen: VCarve Pro Design
Hallo Lisa110,
hier das passende Makro:
(Pfad zu den CSV-Dateien in Zeile 3 anpassen, und den Ablageordner in den diese nach Verarbeitung verschoben werden in Zeile 5)
Grüße Uwe
hier das passende Makro:
(Pfad zu den CSV-Dateien in Zeile 3 anpassen, und den Ablageordner in den diese nach Verarbeitung verschoben werden in Zeile 5)
Sub ImportiereCSVDateien()
'Pfad zu den CSV-Dateien
Const CSVPFAD = "A:\csv"
'Ordner in den die ausgelesenen CSV-Dateien hinterher verschoben werden
Const VERARBEITET = "A:\csv\verarbeitet"
Dim wsTemp As Worksheet, wsTarget As Worksheet
Set fso = CreateObject("Scripting.Filesystemobject")
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Zielarbeitsblatt für die importierten Daten
Set wsTarget = Sheets("Rechnung")
'temporäres Arbeitsblatt für den Import der Daten erstellen
Set wsTemp = Worksheets.Add(After:=Worksheets(Worksheets.Count))
' Verarbeitet Ordner erstellen falls nicht vorhanden
If Not fso.FolderExists(VERARBEITET) Then MkDir VERARBEITET
For Each f In fso.GetFolder(CSVPFAD).Files
If LCase(fso.GetExtensionName(f.Name)) = "csv" Then
'Temporäres Sheet löschen
wsTemp.UsedRange.Clear
'CSV-Daten in Temporäres Sheet importieren
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & f.Path, Destination:=wsTemp.Range("$A$1"))
.Name = "import"
.FieldNames = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePlatform = 1252
.TextFileStartRow = 8
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileCommaDelimiter = True
.TextFileDecimalSeparator = "."
.TextFileThousandsSeparator = ","
.Refresh BackgroundQuery:=False
.Delete
End With
With wsTemp
'Maximalwert in Zielsheet in nächste leere Zelle in Spalte B kopieren
wsTarget.Cells(Rows.Count,"B").End(xlUp).Offset(1, 0).Value = WorksheetFunction.Max(.Columns(2))
End With
'Datei in die Ablage verschieben
f.Move VERARBEITET & "\"
End If
Next
'Temporäres Sheet löschen
wsTemp.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
MsgBox "Vorgang beendet!", vbInformation
Set fso = Nothing
End Sub

Ähmmm nee,
du hast den Code falsch kopiert! Nutze den Button Quelltext oberhalb des Codes zum kopieren! Die Zeilen-Zahlen gehören natürlich nicht zum Code, du meine Güte ... 
Zitat von @129413:
Ähmmm nee,
du hast den Code falsch kopiert! Nutze den Button Quelltext oberhalb des Codes zum kopieren! Die Zeilen-Zahlen gehören natürlich nicht zum Code, du meine Güte ... 
Dito... Code wurde definitiv über die falsche Methode hier kopiert Ähmmm nee,
Der Code läuft mit deinen Beispieldateien hier in deinem Sheet nämlich einwandfrei.
Hallo Lisa,
das ist kein Problem, aber in deinem Demo-Sheet oben steht in Spalte C eine Formel hast du dort eine zusätzliche Spalte eingefügt ??
Naja egal, nach deiner Beschreibung sollte dies hier passen (Gehe davon aus das der Suchwert für alle CSV-Dateien gleich ist und dieser in Zelle C7 im Sheet Rechnung steht):
Grüße Uwe
das ist kein Problem, aber in deinem Demo-Sheet oben steht in Spalte C eine Formel hast du dort eine zusätzliche Spalte eingefügt ??
Naja egal, nach deiner Beschreibung sollte dies hier passen (Gehe davon aus das der Suchwert für alle CSV-Dateien gleich ist und dieser in Zelle C7 im Sheet Rechnung steht):
Sub ImportiereCSVDateien()
'Pfad zu den CSV-Dateien
Const CSVPFAD = "A:\csv"
'Ordner in den die ausgelesenen CSV-Dateien hinterher verschoben werden
Const VERARBEITET = "A:\csv\verarbeitet"
Dim wsTemp As Worksheet, wsTarget As Worksheet
Set fso = CreateObject("Scripting.Filesystemobject")
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Zielarbeitsblatt für die importierten Daten
Set wsTarget = Sheets("Rechnung")
'temporäres Arbeitsblatt für den Import der Daten erstellen
Set wsTemp = Worksheets.Add(After:=Worksheets(Worksheets.Count))
' Zielwert für Weg(mm) Zelle C7
dblTargetValue = wsTarget.range("C7").Value
' Verarbeitet Ordner erstellen falls nicht vorhanden
If Not fso.FolderExists(VERARBEITET) Then MkDir VERARBEITET
For Each f In fso.GetFolder(CSVPFAD).Files
If LCase(fso.GetExtensionName(f.Name)) = "csv" Then
'Temporäres Sheet löschen
wsTemp.UsedRange.Clear
'CSV-Daten in Temporäres Sheet importieren
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & f.Path, Destination:=wsTemp.Range("$A$1"))
.Name = "import"
.FieldNames = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePlatform = 1252
.TextFileStartRow = 8
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileCommaDelimiter = True
.TextFileDecimalSeparator = "."
.TextFileThousandsSeparator = ","
.Refresh BackgroundQuery:=False
.Delete
End With
With wsTemp
'nächste freie Zelle in Spalte B ermitteln
Set cellNextFree = wsTarget.Cells(Rows.Count, "B").End(xlUp).Offset(1, 0)
'Werte filtern
.UsedRange.AutoFilter 1, ">=" & Replace(dblTargetValue, ",", ".")
' gefilterten Wert in Zielzelle schreiben
cellNextFree.Value = .AutoFilter.Range.Offset(1, 0).SpecialCells(xlCellTypeVisible).Cells(1, 2).Value
'Autofilter deaktivieren
.UsedRange.AutoFilter
End With
'Datei in die Ablage verschieben
f.Move VERARBEITET & "\"
End If
Next
'Temporäres Sheet löschen
wsTemp.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
MsgBox "Vorgang beendet!", vbInformation
Set fso = Nothing
End Sub