Thema Datum  Von Nutzer Rating
Antwort
Rot Zeilen Zusammenfassen
26.03.2019 21:34:33 Daniel
Solved
27.03.2019 09:57:03 Gast12345
NotSolved
27.03.2019 10:40:51 Daniel
NotSolved
27.03.2019 10:42:39 Daniel
NotSolved

Ansicht des Beitrags:
Von:
Daniel
Datum:
26.03.2019 21:34:33
Views:
718
Rating: Antwort:
 Nein
Thema:
Zeilen Zusammenfassen

Hallo liebes VBA Forum,

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 VBA Forum Community! ??????

Ich zeige es auch gerne einem Helfer / einer Helferin via Teamviewer (bei Bedarf).

Hier 2 Tabellen IST und SOLL mit mehr Beispielen:

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


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Zeilen Zusammenfassen
26.03.2019 21:34:33 Daniel
Solved
27.03.2019 09:57:03 Gast12345
NotSolved
27.03.2019 10:40:51 Daniel
NotSolved
27.03.2019 10:42:39 Daniel
NotSolved