Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
616to620
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
616to620
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Asci Daten einlesen und automatisch ergänzen

Asci Daten einlesen und automatisch ergänzen
28.05.2005 21:05:37
dieter
Hallo liebe Forum Spezialisten,
vieleicht könnett Ihr mir helfen.Ich habe folgendes Problem:
Ich lese eine Asci datenreihe ein welche manchmal nicht kommplett geliefert wird.Es fehlen dann eine reihe von Minuten (Datum Uhrzeit)
das sieht dann so aus:
Date Time temp1 temp2 temp3 t3mp4 m²
05.02.2005 15:33 11,9 11,9 11,87 11,87 48900
05.02.2005 15:34 11,95 11,96 11,9 11,95 6400
05.02.2005 15:35 11,95 11,99 11,95 11,95 12400
05.02.2005 15:36 11,95 11,96 11,95 11,96 5000
05.02.2005 15:37 11,98 12,03 11,97 12 14800
05.02.2005 15:38 12,03 12,03 11,9 11,9 7700
05.02.2005 15:39 11,9 11,99 11,9 11,99 4600 fehlt 15:40-43
05.02.2005 15:44 12,03 12,03 12,02 12,03 4700
05.02.2005 15:45 12,03 12,03 12,01 12,02 9600
05.02.2005 15:46 12,02 12,02 12,01 12,01 2800
05.02.2005 15:47 12,01 12,04 12,01 12,01 17600 feht 15:48-49
05.02.2005 15:50 11,97 11,97 11,96 11,96 2400
05.02.2005 15:51 11,96 11,97 11,95 11,96 6600
05.02.2005 15:52 11,96 11,96 11,95 11,95 3000
05.02.2005 15:53 11,96 11,96 11,96 11,96 1500 fehlt 15:54-59
05.02.2005 16:00 11,95 11,99 11,95 11,97 6400
Mein problem ist das die datenreihe nicht minutengenau durchläuft.Daher such ich nach einer Lösung welche automatisch die aufzeichnungslücken findet und mit datum und Uhrzeit (Minuten) auffüllt. z.B. so:
05.02.2005 15:33 11,9 11,9 11,87 11,87 48900
05.02.2005 15:34 11,95 11,96 11,9 11,95 6400
05.02.2005 15:35 11,95 11,99 11,95 11,95 12400
05.02.2005 15:36 11,95 11,96 11,95 11,96 5000
05.02.2005 15:37 11,98 12,03 11,97 12 14800
05.02.2005 15:38 12,03 12,03 11,9 11,9 7700
05.02.2005 15:39 11,9 11,99 11,9 11,99 4600
05.02.2005 15:40
05.02.2005 15:41
05.02.2005 15:42
05.02.2005 15:43
05.02.2005 15:44
05.02.2005 15:45 12,03 12,03 12,01 12,02 9600
05.02.2005 15:46 12,02 12,02 12,01 12,01 2800
05.02.2005 15:47 12,01 12,04 12,01 12,01 17600
05.02.2005 15:48
05.02.2005 15:49
05.02.2005 15:50 11,97 11,97 11,96 11,96 2400
05.02.2005 15:51 11,96 11,97 11,95 11,96 6600
05.02.2005 15:52 11,96 11,96 11,95 11,95 3000
05.02.2005 15:53 11,96 11,96 11,96 11,96 1500
Ganz hervorragend wäre nartürlich eine Idee wie man nicht nur die fehlenden Tage/Minuten einfügt ,sondern sogar noch die fehlenden Daten Interpolieren kann.
Wenn Ihr eine Idee hättet wäre ich euch wirklich dankbar.Ich bin zwar ein
exelliebhaber kann aber nicht gut programmieren (VBA etc.)
Vielen dank für eure Hilfe im Voraus .
Dieter

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Asci Daten einlesen und automatisch ergänzen
30.05.2005 02:34:04
Uwe
Hallo Dieter,
so müsste das Einfügen der Zeilen gehen:

Sub ZeilenEinfuegen()
Dim lngLetzteZeile As Long
Dim lngZ As Long
Dim lngMin As Long
lngLetzteZeile = Range("B2").End(xlDown).Row
For lngZ = lngLetzteZeile To 3 Step -1
lngMin = Minute(Cells(lngZ, 2).Value - Cells(lngZ - 1, 2).Value)
Do While lngMin > 1
Rows(lngZ).Insert
Cells(lngZ, 1).Value = Cells(lngZ + 1, 1).Value
Cells(lngZ, 2).Value = Cells(lngZ + 1, 2).Value - 1 / 1440
lngMin = lngMin - 1
Loop
Next lngZ
End Sub
Gruß Uwe
AW: Asci Daten einlesen und automatisch ergänzen
31.05.2005 02:27:14
Dieter
Hallo Uwe vielen Dank,
für deine Mühe.Das Macro läuft.Jedoch sieht es dann so aus.
05.02.2005 22:06
05.02.2005 22:07
05.02.2005 22:08
05.02.2005 22:09
05.02.2005 22:10
05.02.2005 22:11 12,17 12,17 12,17 12,17 800 ***22:11 bis 00:03 fehlt
05.03.2005 00:04
05.03.2005 00:05
05.03.2005 00:06
05.03.2005 00:07 12,2 12,2 12,2 12,2 100
05.03.2005 00:08 12,2 12,2 12,2 12,2 500
05.03.2005 00:09 12,17 12,17 12,17 12,17 100
05.03.2005 15:10 ***22:11 bis 00:03 fehlt
05.03.2005 15:11
Kannst du mir da helfen?
Vielen dank im vorraus.
Grüße Dieter

Anzeige
AW: Asci Daten einlesen und automatisch ergänzen
01.06.2005 03:22:35
Uwe
Hallo Dieter,
teste mal das:

Sub ZeilenEinfuegen()
Dim lngLetzteZeile As Long
Dim lngZ As Long
Dim lngMin As Double
Dim dDatum As Date
lngLetzteZeile = Range("B2").End(xlDown).Row
For lngZ = lngLetzteZeile To 3 Step -1
lngMin = (Cells(lngZ, 1).Value + Cells(lngZ, 2).Value) - _
(Cells(lngZ - 1, 1).Value + Cells(lngZ - 1, 2).Value)
Do While lngMin > 1 / 1440
Rows(lngZ).Insert
dDatum = Cells(lngZ + 1, 1).Value + Cells(lngZ + 1, 2).Value - 1 / 1440
Cells(lngZ, 1).Value = Int(dDatum)
Cells(lngZ, 2).Value = dDatum - Int(dDatum)
lngMin = lngMin - 1 / 1440
Loop
Next lngZ
End Sub
Gruß Uwe
Anzeige
AW: Asci Daten einlesen und automatisch ergänzen
02.06.2005 00:45:05
dieter
Hallo Uwe,
vielen Dank für deine Mühe.Aber leider kommt folgende Fehlermeldung.
Laufzeitfehler 13
Typen unverträglich
Hast du eine Idee?
Grüße Dieter
AW: Asci Daten einlesen und automatisch ergänzen
02.06.2005 02:26:28
Uwe
Hallo Dieter,
das wird ein Formatproblem sein. Vermutlich liegen die Daten als Text vor, so dass
die Datums- und Zeitdifferenzen nicht direkt berechnet werden können.
Ich hab jetzt mal eine Umwandlung in die richtigen Formate eingebaut:

Sub ZeilenEinfuegen()
Dim lngLetzteZeile As Long
Dim lngZ As Long
Dim lngMin As Double
Dim dDatum As Date
lngLetzteZeile = Range("B2").End(xlDown).Row
If Cells(lngLetzteZeile, 1).Value = Cells(lngLetzteZeile, 1).Formula Then
Columns("A:A").Cells.NumberFormat = "dd/mm/yyyy"
Columns("B:B").Cells.NumberFormat = "hh:mm"
Columns("A:A").TextToColumns Destination:=Range("A:A"), DataType:=xlFixedWidth, _
FieldInfo:=Array(0, 4)
Columns("B:B").TextToColumns Destination:=Range("B:B"), DataType:=xlFixedWidth, _
FieldInfo:=Array(0, 1)
End If
For lngZ = lngLetzteZeile To 3 Step -1
lngMin = (CDate(Cells(lngZ, 1).Value) + CDate(Cells(lngZ, 2).Value)) - _
(CDate(Cells(lngZ - 1, 1).Value) + CDate(Cells(lngZ - 1, 2).Value))
Do While lngMin > 1 / 1440
Rows(lngZ).Insert
dDatum = CDate(Cells(lngZ + 1, 1).Value) + CDate(Cells(lngZ + 1, 2).Value) - 1 / 1440
Cells(lngZ, 1).Value = Int(dDatum)
Cells(lngZ, 2).Value = dDatum - Int(dDatum)
If CCur(Cells(lngZ + 1, 2).Value) = 1 Then Cells(lngZ + 1, 1).Value = Cells(lngZ + 1, 1).Value + 1
lngMin = lngMin - 1 / 1440
Loop
Next lngZ
End Sub
Gruß Uwe
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige