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

automatisch Leerzeilen einfügen

automatisch Leerzeilen einfügen
20.06.2006 09:30:31
Eik
Hallo liebe Excelgemeinde,
leider komme ich mit meinem Problem nicht mehr weiter, vielleicht kann mir jemand von Euch helfen:
Ich habe eine Zeitreihe mit 10-minütigen Messdaten, jeweils zeilenweise wie folgt:
12.01.2006 02:00 Messwert1 Messwert2
12.01.2006 02:10 Messwert1 Messwert2
12.01.2006 02:20 Messwert1 Messwert2
...
(Datum, Uhrzeit und Messwerte stehen jeweils in einer Spalte)
Leider fehlen ab und zu eine oder mehrere Zeilen, dass heisst, auf 02:00 Uhr folgt ohne Leerzeile 02:20 oder 02:30.
Nun benötige ich aber eine zeitkonsistente Zeitreihe, wo die Uhrzeit lückenlos vorhanden ist. Die Leerzeilen werden darin durch Fehlercodes aufgefüllt.
Hat jemand eine Idee, wie ich die Leerzeilen automatisch einfügen kann?
Vielen Dank!
Eik

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: automatisch Leerzeilen einfügen
20.06.2006 10:27:21
th.heinrich
hallo Eik,
schau Dir mal die funktionen RKP, RGP an die liefern werte fuer exponentiellen bzw. linearen Trend.
evtl. genuegt auch schon Bearbeiten-Ausfüllen-Reihe.
gruss thomas
AW: automatisch Leerzeilen einfügen
20.06.2006 10:38:41
Bertram
Hi Eik,
die Lösung ist zwar nicht elegant (hab umständlich angefangen und dann zu Ende gestrickt:-), aber funktioniert soweit (Deine Zeiten stehen in Spalte B):

Sub Leerzeile()
Range("B1").Activate
Do
If Format(CDate(activecell.Offset(1, 0).Value), "hh:mm") > Format(CDate(CDate(activecell.Value) + "00:10:00"), "hh:mm") Then
Rows(activecell.Offset(1, 0).Row).Insert
activecell.Offset(1, 0).Value = CDate(CDate(activecell.Value) + "00:10:00")
End If
activecell.Offset(1, 0).Activate
Loop Until Format(activecell.Offset(1, 0).Value, "hh:mm") = ""
End Sub

Gruß
Bertram
Anzeige
AW: automatisch Leerzeilen einfügen
20.06.2006 10:40:07
UweD
Hallo
Wegen Rundungsdifferenzen der Umweg über Textvergleich.

Sub Leerzeile()
On Error GoTo Fehler
Dim SP%, LR&, TB1, i&, Delta$
Set TB1 = Sheets("Tabelle1")
SP = 2 'Spalte B
Delta = "00:10:00"
LR = TB1.Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
Application.DisplayAlerts = False
For i = LR To 2 Step -1
If CStr(CDate(Cells(i, SP) - Cells(i - 1, SP))) <> Delta Then
Rows(i).Insert
End If
Next
Fehler:
If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description
Application.DisplayAlerts = True
End Sub

Sub Leerzeile()
On Error GoTo Fehler
Dim SP%, LR&, TB1, i&, Delta$
Set TB1 = Sheets("Tabelle1")
SP = 2 'Spalte B
Delta = "00:10:00"
LR = TB1.Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
Application.DisplayAlerts = False
For i = LR To 2 Step -1
If CStr(CDate(Cells(i, SP) - Cells(i - 1, SP))) <> Delta Then
Rows(i).Insert
End If
Next
Fehler:
If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description
Application.DisplayAlerts = True
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: automatisch Leerzeilen einfügen
20.06.2006 10:41:50
UweD
Hallo
code natürlich nur einfach verwenden (Kopierfehler)
Gruß UweD
(Rückmeldung wäre schön)
AW: automatisch Leerzeilen einfügen
21.06.2006 09:07:22
Eik
Hallo,
vielen Dank für die schnelle Hilfe.
Die Methode von UweD funktioniert leider nicht ganz, es werden nach jeder vorhandenen Zeile
Leerzeilen eingefügt.
Das Makro von Bertram funktioniert soweit, es hat allerdings Schwierigkeiten bei Lücken über den Datumswechsel. Diese werden ignoriert, ebenso wie die Lücke zwischen 23:40 und 00:00. Vielleicht fällt Euch ja zu diesem Problem noch eine Lösung ein.
Vielen Dank und viele Grüße,
Eik
AW: automatisch Leerzeilen einfügen
Bertram
Hallo Eik,
habe den Code etwas umgeschrieben, ist aber im Prinzip der selbe, nur besser leserlich.

Sub LeerzeileEinfügen()
Dim Zeile As Single
Zeile = 1
Do
If CDate(Cells(Zeile + 1, 2).Value) > CDate(CDate(Cells(Zeile, 2).Value) + "0:10:00") Then
Rows(Cells(Zeile + 1, 2).Row).Insert
Cells(Zeile + 1, 2).Value = CDate(CDate(Cells(Zeile, 2).Value) + "00:10:00")
End If
Zeile = Zeile + 1
Loop Until Cells(Zeile + 1, 2) = 0
End Sub

Es funktioniert, wenn du deine Uhrzeit in Spalte B mit Datum eingibst
z.B. '21.06.06 10:50' und dann der Zelle das Format 'hh:mm' zuweist.
Dann wird nur die Uhrzeit angezeigt, aber auch das Datum im Code verglichen.
Hoffe das hilft dir weiter.
Gruß
Bertram
Anzeige
AW: automatisch Leerzeilen einfügen
21.06.2006 12:28:07
Eik
Hallo Bertram,
ich hab die neue Version gleich versucht, leider wird jetzt aber
das hier erzeugt:
01.01.2000 00:30
00:30 23,2 86 1011,6 1,191
01.01.2000 00:40
00:40 23,2 86 1011,4 1,191
00:50 23,2 86 1011,3 1,191
01.01.2000 01:00
01.01.2000 01:10
01:10 23,2 86 1011 1,191
01.01.2000 01:20
01:20 23,2 86 1010,8 1,19
01.01.2000 01:30
01:30 23,2 86 1010,7 1,19
(Das Datum mit Uhrzeit wurde jeweils vom Makro eingefügt als Leerzeile)
Jetzt wird beinahe überall eine neue Zeile eingefügt, obwohl ich das Datum als TT.MM.JJJJ hh:mm eingefügt habe und dann das Format auf hh:mm gestellt hab, wie von Dir beschrieben.
Woran kann das liegen?
Viele Grüße, Eik
Anzeige
AW: automatisch Leerzeilen einfügen
21.06.2006 12:45:30
Bertram
Hallo Eik,
mit deiner Darstellung komm ich nicht ganz klar. So sieht das bei mir aus:
https://www.herber.de/bbs/user/34521.xls
Vielleicht lädst du mal deine Mappe hoch.
Gruß
Bertram
AW: automatisch Leerzeilen einfügen
21.06.2006 14:19:27
Eik
Hallo Bertram,
in deiner Exceldatei funktioniert es, nur leider bei meiner nicht.
Hier ist sie mal:
https://www.herber.de/bbs/user/34523.xls
Viele Grüße
Eik
AW: automatisch Leerzeilen einfügen
21.06.2006 14:28:57
Bertram
Hallo Eik,
du siehst mich auf Knien um Vergebung winseln.
Mea culpa, meine Schuld.....
Das Zellformat ist gar nicht hh:mm sondern Uhrzeit Typ 13:30.
Dann funktioniert's auch bei deinen Werten.
Entschuldige nochmals.
Gruß
Bertram
Anzeige
AW: automatisch Leerzeilen einfügen
21.06.2006 14:36:31
Eik
Hallo Bertram,
ich hab es gleich an meiner Beispiel-Datei ausprobiert (Spalte B als Uhrzeit Typ 13:30), leider ändert sich dadurch auch nichts...
Hab ich etwas falsch verstanden?
Vielen Dank für deine Geduld!
Grüße, Eik
AW: automatisch Leerzeilen einfügen
21.06.2006 14:54:23
Bertram
Hallo Eik,
du hast das schon richtig verstanden. Ich hab's gerade mal mit deinen Werten getestet und auch gemerkt dass es nicht geht.
Warum? Keine Ahnung, aber ich bleib dran. Jetzt hab ich mich schon in das Problem verbissen.
Melde mich wenn ich's rausgefunden hab:-)
Gruß
Bertram
AW: automatisch Leerzeilen einfügen
21.06.2006 15:19:44
Bertram
Hi Erik,
bilde mir ein, dass es jetzt funktioniert. Meine ursprüngliche Version hat auch nicht einwandfrei funktioniert.

Private Sub CommandButton1_Click()
Dim Zeile As Single
Zeile = 1
Do
If CSng(Cells(Zeile + 1, 2).Value) > CSng(CDate(Cells(Zeile, 2).Value) + "0:10:00") Then
Rows(Cells(Zeile + 1, 2).Row).Insert
Cells(Zeile + 1, 2).Value = CDate(CDate(Cells(Zeile, 2).Value) + "00:10:00")
End If
Zeile = Zeile + 1
Loop Until Cells(Zeile + 1, 2) = 0
End Sub

Gruß
Bertram
Anzeige
AW: automatisch Leerzeilen einfügen
Eik
Hallo Bertram,
jetzt funktioniert es perfekt, habe es auch an der großen Zeitreihe getestet.
Vielen Dank nochmal für deine Geduld und Bemühungen!
Viele Grüße
Eik
AW: automatisch Leerzeilen einfügen
Eik
Hallo Bertram,
jetzt funktioniert es perfekt, habe es auch an der großen Zeitreihe getestet.
Vielen Dank nochmal für deine Geduld und Bemühungen!
Viele Grüße
Eik
Gerne oT
21.06.2006 15:53:24
Bertram

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige