ich habe 1-N Datensätze mit einem gleichbleibenden Schlüssel und möchte diese Zusammenfassen.
Schlüssel - Nr1 - Ankunft - Abfahrt -Nr2
101 133-7 - 2375 - 20:52 - #NV - 2375
101 133-7 - 2375 - 21:12 - 09:05:00 - 2374
Aus der ersten Zeile brauche ich die ersten 3 Felder aus der zweiten Zeile brauche ich die letzten 2 Felder.
Am besten soll die Datenquelle so bleiben wie sie ist und das "Zusammengefasste"
in ein neues Tabellenblatt mit in diesem Fall folgenden Feldern übertragen werden.
Schlüssel - Nr1 - Ankunft - Abfahrt - Nr2
101 133-7 - 2375 - 20:52 - 09:05:00 - 2374
Ich bin in VBA garnich fit und hab mich heute schon einige Stunden "beschäftigt"...
Mit sowas hier zum z.B. letzte Zeile finden...
Sub LetzteZeileFinden()
Dim letzeZeile As Integer
letzeZeile = ThisWorkbook.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
MsgBox (Cells(letzeZeile, 2).Value)
End Sub
Und mit sowas hier um "unique" Werte zu finden...
Sub test()
Dim Values() As Variant
Values = GetUniqueVals(Selection)
Dim i As Integer
For i = LBound(Values) To UBound(Values)
Debug.Print (Values(i))
MsgBox (Values(i))
Next
End Sub
Function GetUniqueVals(ByRef Data As Range) As Variant()
Dim cell As Range
Dim uniqueValues() As Variant
ReDim uniqueValues(0)
For Each cell In Data
If Not IsEmpty(cell) Then
If Not InArray(uniqueValues, cell.Value) Then
If IsEmpty(uniqueValues(LBound(uniqueValues))) Then
uniqueValues(LBound(uniqueValues)) = cell.Value
Else
ReDim Preserve uniqueValues(UBound(uniqueValues) + 1)
uniqueValues(UBound(uniqueValues)) = cell.Value
End If
End If
End If
Next
GetUniqueVals = uniqueValues
End Function
Function InArray(ByRef SearchWithin() As Variant, ByVal SearchFor As Variant) As Boolean
Dim i As Integer
Dim matched As Boolean 'Default value of boolean is false, we make true only if we find a _
_
match
For i = LBound(SearchWithin) To UBound(SearchWithin)
If SearchWithin(i) = SearchFor Then matched = True
Next
InArray = matched
End Function
Ich bin mir nicht sicher ob ich auf einem guten Weg bin und bin bereit alles zu vergessen ?
Ich glaube ich halte es nicht aus mich so Stück für Stück "durchzuwurschteln",
mir fehlt es auch einfach an Grundlagen in VBA für sowas.
Daher Frage ich euch liebe Community!
Ich zeige es auch gerne einem Helfer / einer Helferin via Teamviewer (bei Bedarf).
Hier 2 Tabellen IST und SOLL mit mehr Beispielen:
(Nochmal als Anhang weil hier Tabellen nicht so toll dargestellt werden.
IST:
Schlüssel Nr1 Ankunft Abfahrt Nr2
101 133-7 2375 20:52 #NV 2375
101 133-7 2375 21:12 09:05:00 2374
101 134-7 2376 22:00 22:15:00 2375
101 135-7 2375 22:30 23:00:00 2374
101 107-1 2268 07:53 #NV 2268
101 107-1 2268 08:13 09:05:00 2374
101 107-1 2374 08:56 09:05:00 2374
SOLL:
Schlüssel Nr1 Ankunft Abfahrt Nr2
101 133-7 2375 20:52 09:05:00 2374
101 134-7 2376 22:00 22:15:00 2375
101 135-7 2375 22:30 23:00:00 2374
101 107-1 2268 07:53 09:05:00 2374
Alles Liebe
Daniel