Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
860to864
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
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

860to864: Zusammmenfassen und Sortieren

Zusammmenfassen und Sortieren
04.04.2007 17:38:00
Peter
Hallo,
ich möchte die in Tabelle 1 gegebene Struktur wie in Tabelle 2 gezeigt zusammenfassen.
Die Anzahl der Einträge je Tag sind unterschiedlich sowie die Zahl der abgefragten Tage.
https://www.herber.de/bbs/user/41585.xls
Danke für Eure Hilfe
Gruß Peter

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zusammmenfassen und Sortieren
07.04.2007 08:10:00
Erich
Hallo Peter,
probier mal dies (in ein normales Modul):

Option Explicit
Sub Zusammenf_KomGeh()
Dim wsZ As Worksheet, zq As Long, zk As Long, zg As Long, datD As Date
Dim rngF As Range
Set wsZ = Worksheets.Add                                    ' neues Blatt
Union(Columns("B"), Columns("D")).NumberFormat = "hh.MM:ss"
Worksheets("Tabelle1").Activate                             ' Quellblatt
zq = 1                                                      ' Zeile in  Quellblatt
While Not IsEmpty(Cells(zq, 3))
Select Case Cells(zq, 5)
Case "kom"
zk = zk + 1
wsZ.Cells(zk, 1) = datD
wsZ.Cells(zk, 2) = Cells(zq, 1)
wsZ.Cells(zk, 5) = Cells(zq, 3)
Case "geh"
Set rngF = wsZ.Cells.Find(What:=Cells(zq, 3), _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, MatchCase:=False, SearchFormat:=False)
If rngF Is Nothing Then Stop                    ' keine Komm-Zeit gefunden
zg = rngF.Row
If IsEmpty(wsZ.Cells(zg, 3)) Then
wsZ.Cells(zg, 3) = datD
wsZ.Cells(zg, 4) = Cells(zq, 1)
Else
Stop                                         ' Geh-Zeit gab's schon
End If
Case ""
If Cells(zq, 3)  "Tageswechsel" Then Stop
If IsDate(Cells(zq, 4)) Then datD = Cells(zq, 4) Else Stop
Case Else                                         ' falscher Eintrag in Spalte E
Stop
End Select
zq = zq + 1
Wend
wsZ.Activate
Columns(5).AutoFit
Cells(1, 1).Sort Key1:=Range("E1"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zusammmenfassen und Sortieren
07.04.2007 16:35:00
Peter
Hallo Erich,
danke für deine Hilfe.
Bei mir kommt die Fehlermeldung:
Fehler beim Kompilieren.
Benanntes Argument nicht gefunden.
Im Codefenster steht des Cursor in folgender Zeile auf SearchFormat:=
......
SearchDirection:=xlPrevious, MatchCase:=False, SearchFormat:=False)
......
wenn ich den Bereich ausgrenze (als Kommentar) läuft es weiter bis:
Stop ' Geh-Zeit gab's schon
.....
Gruß Peter
AW: Zusammmenfassen und Sortieren
07.04.2007 17:54:00
Erich
Hallo Peter,
sorry, auf die Excelversion hatte ich nicht geachtet. SearchFormat gabs in Excel97 noch nicht.
Ändere die Find-Zeilen so:

Set rngF = wsZ.Cells.Find(What:=Cells(zq, 3), _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, MatchCase:=False)
Das mit "Geh-Zeit gab's schon" hängt wohl mit der Reihenfolge der Einträge in der Quelltabelle zusammen.
Kannst du die mal posten?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zusammmenfassen und Sortieren
07.04.2007 18:40:57
Peter
Hallo Erich,
habe die Zeilen geändert.
Läuft allerdings nur bis zu dem vorgenannten Stop-Befehl und in der neuen Tabelle ist nur der erste Tag aufgeführt.
Wenn ich den Befehl ausgrenze läuft die Sortierung über alle Tage Stop dann allerdings infolgender
Zeile:
....
If rngF Is Nothing Then Stop ' keine Komm-Zeit gefunden
....
Läßt sich zur Kontrolle ein Vergleich einfügen, ob alle Tage und Uhrzeiten von dem Quelltabellenblatt auf das neue überführt worden sind.
Die Ursprungstabelle kann bis zur max. möglichen Zeilenanzahl gehen.
Gruß Peter
Anzeige
AW: Zusammmenfassen und Sortieren
08.04.2007 11:10:25
Erich
Hallo Peter,
das Makro ging davon aus, dass zu jeder Geh-Zeit vorher eine Komm-Zeit eingetragen ist.
(In deiner Beispielmappe war das so.)
In der folgenden Mappe ist eine neue Version "Zusammenf_KomGeh2",
bei der die Geh-Zeit in eine neue Zeile eingetragen wird, wenn es keine zugehörige Komm-Zeit gibt:
https://www.herber.de/bbs/user/41650.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Zusammmenfassen und Sortieren
08.04.2007 20:58:00
Peter
Hallo Erich,
danke für deine Hilfe. Funktioniert genau so wie ich es mir vorgestellt habe.
Habe häufiger Tabellen zu tun wo die Referenzierung von Zellbereichen erforderlich ist. Allerdings finde ich in der mir zur Verfügung stehend Literatur wenig dazu (nur eine halbe Buchseite). Auch in diesem Forum habe ich nur hier und da etwas gefunden.
Gibt es irgendwo eine zusammenhängende Erklärung zu dem Umgang mit Referenzierungen?
Gruß Peter
Anzeige

167 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige