Zeilen zusammenführen

Bild

Betrifft: Zeilen zusammenführen
von: worm77
Geschrieben am: 19.08.2015 16:24:48

Hallo zusammen
Hab mal wieder ein für mich unlösbares Problem.
Ich importiere Informationen über Prozess-Start und -Stop von einem UNIX-Rechner in Excel.
Soweit so gut.
Jetzt sieht das so aus:


09.08.2015	23:54:54	Start	PROC1
09.08.2015	23:55:44	Stop	PROC1
10.08.2015	00:18:48	Start	PROC5
10.08.2015	00:18:48	Stop	PROC5
10.08.2015	10:49:07	Start	PROC1
10.08.2015	10:51:45	Stop	PROC1

usw.
Nun möchte ich, dass Zeilen 1 + 2 auf eine Zeile zusammengeführt werden, also Zeile 2 hinter die Daten in Zeile 1 verschoben warden.
Ziel ist es, dann in einer weiteren Spalte die Laufzeit der Prozesse zu berechnen und daraus ein Diagramm zu machen. Deshal möchte ich die Daten in einer Zeile haben.
Es gehören immer zwei Zeilen zusammen, einmal Start und einmal Stop.
Prozesse werden mehrmals täglich gestartet und gestoppt.
Kann man das mit VBA irgendwie bewerkstelligen?
Habe leider keinen Plan, wie sowas gehen könnte.
Wäre euch für eure Hilfe sehr dankbar!!!
Gruss Rolf

Bild

Betrifft: AW: Zeilen zusammenführen
von: Matthias
Geschrieben am: 19.08.2015 16:37:51
Hallo Rolf,
hier mein Vorschlag:

Sub Sortieren()
Dim Bereich as Range
For x = 1 to Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile
    If Range("C"& x).value = "Start" And Range("C"& x+1).value "Stop" Then
        Range("E" & x & ":H" & x).value = Range("A" & x+1 & ":D" & x+1).value
        Range("A" & x+1).value = "löschen"
    EndIf
Next x
Do
    Set Bereich = Range("BI:BI").Find(What:="löschen", LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False)
    If Bereich Is Nothing Then
    Exit Do
    Else: Rows(Bereich.Row).Delete Shift:=xlUp
    End If
Loop
lg Matthias

Bild

Betrifft: AW: Zeilen zusammenführen
von: Matthias
Geschrieben am: 19.08.2015 16:39:53
Ach, ein kleiner Fehler ist noch drinn:

Set Bereich = Range("BI:BI").Find(What:="löschen", ....
Muss natürlich auch in der richtigen Spalte suchen:
Set Bereich = Range("A:A").Find(What:="löschen", ....


Bild

Betrifft: AW: Zeilen zusammenführen
von: Matthias
Geschrieben am: 19.08.2015 16:41:41
Warum kann man eigentlich nichts editieren hier, das ist ja grausam ^^
Da fehlt ein "="

If Range("C"& x).value = "Start" And Range("C"& x+1).value = "Stop" Then
lg Matthias

Bild

Betrifft: AW: Zeilen zusammenführen
von: worm77
Geschrieben am: 19.08.2015 16:57:33
Wow, toll!
Hat auf Anhieb funktioniert!
Ich verneige mich vor dir! :-)
Besten Dank nochmals!
Gruss Rolf

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zeilen zusammenführen"