Zweidimensionale Collection mit Daten füllen

Bild

Betrifft: Zweidimensionale Collection mit Daten füllen
von: JB
Geschrieben am: 10.11.2015 10:08:29

Hallo zusammen,
ich möchte in meinem Programm, das Daten aus mehreren Excel-Dateien ausliest, diese verschiedenen Daten nacheinander in eine Collection speichern. Ich habe noch nie mit diesem Datentyp gearbeitet und brauche deshalb eure Hilfe.
Die Daten werden in einer Sub gesammelt und in einfachen Variablen pro Schleifendurchgang zwischengespeichert. Am Ende möchte ich, dass alle diese Daten in der Collection zur Verfügung stehen.
Eine weitere Schwierigkeit ist dabei, dass die Variable S/N mehrmals den gleichen Wert haben kann. Ist das der Fall, sollen die damit verbundenen Daten nicht in einer neuen Zeile, sondern in den Spalten hinter den anderen S/N-Daten gespeichert werden. Dafür müsste also eine entsprechende Abfrage vorgesehen werden.
Wie könnte man das realisieren und wie wird die Collection richtig initialisiert?
Danke&Grüße!

Bild

Betrifft: AW: Zweidimensionale Collection mit Daten füllen
von: JB
Geschrieben am: 10.11.2015 10:15:50
Das Schema der Collection soll folgendermaßen aussehen:
S/N | Datum ESN TSO CSO WS | Datum ESN TSO CSO WS | ...
S/N | ...
..
..

Bild

Betrifft: AW: Zweidimensionale Collection mit Daten füllen
von: Rudi Maintaire
Geschrieben am: 10.11.2015 13:14:55
Hallo,
als Anregung:

Sub aa()
  Dim myCol As New Collection, t, i
  On Error Resume Next
  For i = 2 To 10
    myCol.Add Cells(i, 2).Value, Cells(i, 1).Value
    If Err Then
      t = myCol(Cells(i, 1).Value)
      t = Join(t)
      t = t & " " & Cells(i, 2).Value
      myCol.Remove Cells(i, 1).Value
      myCol.Add Split(t), Cells(i, 1).Value
      Err.Clear
    End If
  Next
End Sub
Ich bevorzuge das Dictionary-Objekt. Ist einfacher zu handhaben.
Gruß
Rudi

Bild

Betrifft: AW: Zweidimensionale Collection mit Daten füllen
von: JB
Geschrieben am: 10.11.2015 13:39:44
Hallo Rudi,
danke für deine Antwort. Ich brauche aber noch ein bisschen mehr Input, da ich zum ersten Mal mit einer Collection arbeite und mir daher dein Code nicht ganz klar ist.
WIe kann ich das mit der dynamischen Spaltenanzahl umsetzten? WIe kann ich überprüfen, ob eine bestimmte S/N-Nummer bereits in einer Zeile der Collection enthalten ist?
Grüße

Bild

Betrifft: AW: Zweidimensionale Collection mit Daten füllen
von: Rudi Maintaire
Geschrieben am: 10.11.2015 13:56:34
Hallo,
da ich zum ersten Mal mit einer Collection arbeite
ich arbeite nie damit.
WIe kann ich überprüfen, ob eine bestimmte S/N-Nummer bereits in einer Zeile der Collection enthalten ist?
Indem du versuchst, es hinzuzufügen. Falls vorhanden: FEHLER. Deshalb On Error Resume Next.
WIe kann ich das mit der dynamischen Spaltenanzahl umsetzten?
Habe ich eingebaut. Der Collection wird ein Datenfeld hinzugefügt. (If Err Then ...)
Gruß
Rudi

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zweidimensionale Collection mit Daten füllen"