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

EKG Daten aus vielen Dateien einlesen

EKG Daten aus vielen Dateien einlesen
28.07.2022 16:07:10
wpb52
Meine EKG LangzeitDaten liegen als 16Bit-Integer in einzelnen Dateien (zZ. ca. 80) in einem Pfad.
Das Ziel ist es, jede Datei einzeln in ein Array Data(15000000) einzulesen und anschließend die Zeiten der einzelnen Herzschläge (R-Zacken) zu bestimmen und in je ein Arbeitsblatt einzutragen.
Das Makro zum Einlesen der Werte und anschließender Suche nach den Zacken funktioniert (Dank der Hilfe von euch) inzwischen.
Die Messzeit ergibt sich aus der Startzeit, die im Dateinamen enthalten ist, plus 0,08*Nummer der Anzahl der IntegerWerrte der R-Zacke und soll im Format TT.MM.JJJJ hh:mm:ss,000 gespeichert werden.
Pfad= "D:\EKG\Rohdaten" { im Beispiel steht noch der alte Pfad }
Name= "2111492463R" & "20220702073116" => 02.07.2022 07:31:16,000
Jetzt fehlt mir eine Rahmen-Routine, die den Pfad durchsucht und alle (später auch neue) Dateien einliest. Und das vorhandene Makro aufruft.
Damit möchte ich die händische Eingabe des Open-Befehls automatisieren.

Private Sub Read_Array()
Dim ff, mVal As Integer, intCellRow%, data(15000000) As Integer
'Dim i As Long
Dim R_Time, iSearch As Long
'Dim ti
'ti = Timer
ff = FreeFile
i = 0
intCellRow = 0
Open "C:\Users\Admin.DESKTOP-TGURU7Q\AppData\Local\ECG Browser\DATA\userfiles\subusr\1\211149246320220703013506" For Binary Access Read As ff
Do While Not EOF(ff)
Get ff, , mVal
data(i) = mVal
i = i + 1
Loop
Close ff
mAll_i = i
'MsgBox Timer - ti & " sec."
Application.ScreenUpdating = False              'Bildschirmaktualisierung ausschalten
Application.Calculation = xlCalculationManual   'automat.Berechnung ausschalten
i = 4
oldMax = 0
Do
i = CLng(i + 1)
mSteigung = CLng(data(i)) - CLng(data(i - 1))
If mSteigung  oldMax Then
oldMax = data(iSearch)
oldSearch = iSearch
mMax_i = i + mSearch + 1
R_Time = i + mSearch
End If
Next
mRRCount = mRRCount + 1
Cells(mRRCount, 1) = mMax_i
oldMax = 0
i = i + 40
End If
Loop Until i > mAll_i - 5
Application.Calculation = xlCalculationAutomatic    'automat.Berechnung einschalten
Application.ScreenUpdating = True                   'Bildschirmaktualisierung einschalten
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: EKG Daten aus vielen Dateien einlesen
28.07.2022 16:36:29
Rudi
Hallo,
Jetzt fehlt mir eine Rahmen-Routine, die den Pfad durchsucht
etwa so:

Sub aaaa()
Dim sFile As String
Const sPfad As String = "D:\EKG\Rohdaten\"
sFile = Dir(sPfad & "*", vbNormal)
Do While Len(sFile)
Call ReadArray(sPfad & sFile)
sFile = Dir
Loop
End Sub
Private Sub Read_Array(sFile As String)
Dim ff, mVal As Integer, intCellRow%, data(15000000) As Integer
'Dim i As Long
Dim R_Time, iSearch As Long
'Dim ti
'ti = Timer
ff = FreeFile
i = 0
intCellRow = 0
Open sFile For Binary Access Read As ff
Do While Not EOF(ff)
Get ff, , mVal
data(i) = mVal
i = i + 1
Loop
Close ff
' weiterer Code
Gruß
Rudi
VBA gut?
Anzeige
AW: EKG Daten aus vielen Dateien einlesen
28.07.2022 17:10:49
wpb52
Moin Rudi
Danke für den Rahmen, den habe ich soweit verstanden und er funktioniert.
Ja, VBA gut, was soll ich sagen, die Alzheimer Halbwertzeit wird immer kürzer, aber die Erinnerung an alte Zeiten fühlt sich an wie gestern.
Mir fehlt glaube ich nur noch 1 Schritt im Moment.
Wie erzeuge ich für jedes "sFile" ein eigenes Arbeitsblatt mit Name="sFile".
GrüÜüsse
Wolfgang
AW: EKG Daten aus vielen Dateien einlesen
28.07.2022 22:17:57
wpb52
Danke für die Hilfe bis hier. Den letzten Schritt habe ich inzwischen lösen können und die Arbeitsblätter füllen sich, wie gewünscht. Nochmals vielen Dank
Wolfgang

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige