Tabelle als collection / Collection in Collection

  • Excel

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von roddy.

    Tabelle als collection / Collection in Collection

    Hallo Zusammen,

    Wie bekomme ich folgendes hin:

    Alle Daten aus einer Tabelle als Collection einlesen und die erste Zeile als collectionname für die anderen eingeben.

    Beispiel:

    A B C
    1 P E T
    2 M R I
    3 D M S

    Ich sollte nur folgendes prüfen können.
    Collection(A)(P) existiert es oder nicht. In dem Fall sollte ich Value = 1 erhalten
    Collection(A)(S) = 0

    Am ende soll es eine Funktion sein die anhand der Collection eine Kompletttabelle in 3 Tabellen unterteilt. Als eine Tabelle A, B, C dort wird eine Zeile hinkopiert wenn der Vergleich gestummen hat.

    .Cells(row, column) als String

    Also ich habe folgende Lösung eingesetzt aber stecke fest.

    Zunächst habe ich die daten aus einer anderen Exceltabelle als CreateObject("scripting.dictionary") geladen somit habe ich die Array Funktion und es funktioniert bestens :)

    Nun habe ich folgendes Problem

    Quellcode

    1. With ActiveWorkbook.Worksheets(1)
    2. For lngZeilenIndex = 1 To 10
    3. For Each varDicItem In objUser
    4. Set objDic = objUser(varDicItem)
    5. Set curId = .Cells(lngZeilenIndex, 1) & " " & .Cells(lngZeilenIndex, 2)
    6. If objDic(.Cells(lngZeilenIndex, 1) & " " & .Cells(lngZeilenIndex, 2)) = 1 Then
    7. 'Verschiebe Mechanismus schreiben
    8. End If
    9. Next
    10. Next lngZeilenIndex
    11. End With


    Set curId funktioniert nicht, ich bin völliger Anfänger daher habe ich keine Ahnung über die Formate die ich verwenden muss in VBA. Kann mir jemand da Weiterhelfen?

    Visual Basic-Quellcode

    1. .Cells(lngZeilenIndex, 1) & " " & .Cells(lngZeilenIndex, 2)

    ist ein String. "Set" kann man nur bei Objektverweisen verwenden.

    Lasse "Set" in dieser Zeile weg und es müsste gehen.

    Noch ein Tipp:

    In der Zeile darunter hast du auch

    Visual Basic-Quellcode

    1. .Cells(lngZeilenIndex, 1) & " " & .Cells(lngZeilenIndex, 2)
    stehen.

    Da du das einer Variablen zugewiesen hast (curID), kannst du die doch dort verwenden.