Ich habe ein Tabellenblatt mit Spalten A-C, wobei in A das
Datum steht, in B steht sporadisch „Ein“ und in C steht
sporadisch „Aus“.
Jetzt möchte ich das auf einem neuen Tabellenblatt
zusammenfassen, so dass dann steht:
Datum1 | Uhrzeit Ein | Uhrzeit Aus
Datum2 | Uhrzeit Ein | Uhrzeit Aus
Sollte es an einem Datum mehrere Ein und Ausschaltzeiten
geben, soll er diese untereinander ausgeben und die
Datumzeilen verbinden.
Hallo Capo,
sieht deine Tabelle aus wie in A1:C9?
Soll das Ergebnis aussehen wie in A11:C19 oder wie in A21:C25 oder anders?
Zellen verbinden ist von übel.
FGibt es zu jedem ein, abgeshen vom aktuellen ein, immer auch ein aus oder muß das nicht sein?
ggfs. zeige mal hier wie die Tabelle aufgebaut ist, mit allem Mmöglichen Kombinationen von ein/aus an verschiedenen tagen/Zeiten oder lad eine Beispielmappe hoch mit file-upload, s. FAQ:2606
Tabellenblatt: [Mappe1]!Tabelle1
│ A │ B │ C │
───┼──────────────────┼──────────┼──────────┤
1 │ Datum+Zeit │ ein │ aus │
───┼──────────────────┼──────────┼──────────┤
2 │ 01.01.2010 08:00 │ ein │ │
───┼──────────────────┼──────────┼──────────┤
3 │ 01.01.2010 09:00 │ │ aus │
───┼──────────────────┼──────────┼──────────┤
4 │ 01.01.2010 10:00 │ ein │ │
───┼──────────────────┼──────────┼──────────┤
5 │ 01.01.2010 11:00 │ │ aus │
───┼──────────────────┼──────────┼──────────┤
6 │ 03.01.2010 11:00 │ ein │ │
───┼──────────────────┼──────────┼──────────┤
7 │ 03.01.2010 12:00 │ │ aus │
───┼──────────────────┼──────────┼──────────┤
8 │ 04.01.2010 11:00 │ │ │
───┼──────────────────┼──────────┼──────────┤
9 │ 04.01.2010 11:00 │ ein │ │
───┼──────────────────┼──────────┼──────────┤
10 │ │ │ │
───┼──────────────────┼──────────┼──────────┤
11 │ Datum │ ein-Zeit │ aus-zeit │
───┼──────────────────┼──────────┼──────────┤
12 │ 01.01.10 │ 08:00:00 │ │
───┼──────────────────┼──────────┼──────────┤
13 │ 01.01.10 │ │ 09:00:00 │
───┼──────────────────┼──────────┼──────────┤
14 │ 01.01.10 │ 10:00:00 │ │
───┼──────────────────┼──────────┼──────────┤
15 │ 01.01.10 │ │ 11:00:00 │
───┼──────────────────┼──────────┼──────────┤
16 │ 03.01.10 │ 11:00:00 │ │
───┼──────────────────┼──────────┼──────────┤
17 │ 03.01.10 │ │ 12:00:00 │
───┼──────────────────┼──────────┼──────────┤
18 │ 04.01.10 │ │ │
───┼──────────────────┼──────────┼──────────┤
19 │ 04.01.10 │ 11:00:00 │ │
───┼──────────────────┼──────────┼──────────┤
20 │ │ │ │
───┼──────────────────┼──────────┼──────────┤
21 │ Datum │ ein-Zeit │ aus-zeit │
───┼──────────────────┼──────────┼──────────┤
22 │ 01.01.10 │ 08:00:00 │ 09:00:00 │
───┼──────────────────┼──────────┼──────────┤
23 │ 01.01.10 │ 10:00:00 │ 11:00:00 │
───┼──────────────────┼──────────┼──────────┤
24 │ 03.01.10 │ 11:00:00 │ 12:00:00 │
───┼──────────────────┼──────────┼──────────┤
25 │ 04.01.10 │ 11:00:00 │ │
───┴──────────────────┴──────────┴──────────┘
Zahlenformate der Zellen im gewählten Bereich:
A1,A10:A25,B1:B11,B13,B15,B17:B18,B20:B21,C1:C12,C14,C16,C18:C21,C25
haben das Zahlenformat: Standard
A2:A9
haben das Zahlenformat: TT.MM.JJJJ hh:mm
B12,B14,B16,B19,B22:B25,C13,C15,C17,C22:C24
haben das Zahlenformat: hh:mm:ss
Tabellendarstellung erreicht mit dem Code in FAQ:2363
Hinweis, in Tabelle1 steht nur A1:C9, die beiden anderen Tabellen sind in Tabelle2 und Tabelle3, nur aus Darstellungsgründen sind sie jetzt in Tabelle1 reinkopiert.
D.h. was dier in Tabelle1!A11:C19 steht sthet in Wahrheit in Tabelle2!A1:C9
Erreicht wurde es mit diesem Code in Mdul1:
Option Explicit
Sub Zeiten()
Dim wks1 As Worksheet, wks2 As Worksheet, Zei1 As Long, Zei2 As Long
Set wks1 = Worksheets("Tabelle1")
Set wks2 = Worksheets("Tabelle2")
With wks1
For Zei1 = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
wks2.Cells(Zei1, 1).Value = Format(.Cells(Zei1, 1).Value, "dd.mm.yy")
If UCase(.Cells(Zei1, 2).Value) = "EIN" Then
wks2.Cells(Zei1, 2).Value = Format(.Cells(Zei1, 1).Value, "hh:mm:ss")
End If
If UCase(.Cells(Zei1, 3).Value) = "AUS" Then
wks2.Cells(Zei1, 3).Value = Format(.Cells(Zei1, 1).Value, "hh:mm:ss")
End If
Next Zei1
End With
End Sub
Gruß
Reinhard