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

Fehlende Zeile(n) mit Daten einfügen

Fehlende Zeile(n) mit Daten einfügen
26.05.2021 06:13:04
Werner

Hallo zusammen,
Ich habe eine Quelltabelle mit Datum/Zeit Stempel die den Betrieb einer Maschine mit div. Parameter enthält.
Nun soll daraus eine Auswertungstabelle entstehen mit der die Leistung der Anlage (24 Std. immer mit
Abstand von 15 Min. pro Tag) überwacht werden kann.
Ich habe die Daten aus der Quelltabelle (Arbeitsblatt Protokoll) in das neue
Arbeitsblatt(Laufzeit) kopiert.
Mein Problem ist nun, dass die Datenreihen (Zeilen) teilweise Lücken hat.
(was sich leider nicht ändern läßt).
Es fehlen einzelne Zeiten (Zeilen) oder mehrere aufeinander folgende Zeiten (Zeilen) manchmal sogar teilw.
oder ganz fehlende Tage (Zeilen). Darüber hinaus gibt es Einträge (Zeilen) die in kürzeren Abständen (

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

Betreff
Datum
Anwender
Anzeige
AW: Fehlende Zeile(n) mit Daten einfügen
26.05.2021 06:16:50
Werner
So soll es aussehen:
Userbild
AW: Fehlende Zeile(n) mit Daten einfügen
26.05.2021 14:47:52
Werner
Hier mein VBA-Modul:
Option Explicit

Public Sub InsertMissingRows()
Dim lngRow As Long
Dim dtmNextTime As Date, dtmPreviousTime As Date
Dim avntTemp As Variant
With Worksheets("Laufzeit")
For lngRow = .Cells(.Rows.Count, 1).End(xlUp).Row To 3 Step -1
dtmNextTime = CDate(Split(.Cells(lngRow, 1).Value, " ")(1))
dtmPreviousTime = CDate(Split(.Cells(lngRow - 1, 1).Value, " ")(1))
If Round(CDbl(dtmNextTime - dtmPreviousTime), 4) > _
Round(CDbl(TimeSerial(0, 15, 0)), 4) Then
Call .Rows(lngRow).Insert
avntTemp = Split(.Cells(lngRow - 1, 1).Value, " ")
.Cells(lngRow, 1).Value = avntTemp(0) & _
Format$(dtmPreviousTime + TimeSerial(0, 15, 0), " Hh:Nn ") & avntTemp(2)
Call .Range(.Cells(lngRow - 1, 2), .Cells(lngRow - 1, 10)).Copy( _
Destination:=.Cells(lngRow, 2))
lngRow = lngRow + 1
End If
Next
End With
End Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige