Dynamisches Array?

  • Access

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

    Dynamisches Array?

    Hi Leute,

    ich hab folgenden Code Entwickelt:

    Visual Basic-Quellcode

    1. Sub test()
    2. Dim rsPM As DAO.Recordset
    3. Dim xwbin As workbook
    4. Dim xwsin As Worksheet
    5. Dim projectID$
    6. Dim projectManagers(100) As String
    7. Dim i%, j%, lastRow
    8. fname = fileDialogOpen("Select a master list file", , "Microsoft Excel Worksheet")
    9. If fname = "" Then Exit Sub 'Abfrage, falls man auf Abbrechen klickt
    10. 'open excel and the input file
    11. If (xap Is Nothing) Then Set xap = New Excel.Application
    12. Set xwbin = xap.Workbooks.Open(fname)
    13. Set xwsin = xwbin.Worksheets("2012")
    14. lastRow = Cells(Rows.Count, 2).End(xlUp).Row - 2
    15. For i = 2 To lastRow
    16. If xwsin.Cells(i, 19) = "" Then 'Wenn Bewertung gelöscht wurde, ist Feld leer
    17. projectID = xwsin.Cells(i, 4)
    18. For j = 2 To lastRow
    19. 'Wenn Daten aus Datenbank mit Daten aus Excel-Sheet übereinstimmen, dann
    20. If projectID = xwsin.Cells(j, 4) Then
    21. projectManagers = projectManagers & xwsin.Cells(j, 2) & " <-> "
    22. End If
    23. Next j
    24. End If
    25. Next i
    26. End Sub


    Nun möchte ich, Zeile 26 Strings ins Array schreiben. Bsp.: beim ersten Durchlauf bekomme ich "Heinz" beim zweiten Durchlauf bekomme ich "Max" im String-Array soll dann "Heinz <-> Max" stehen. In der Dimensionierungsliste ganz oben im Code hab ich das Array noch fest dimensioniert. Ich möchte dies aber dynamisch anfordern. Ich kenne den Befehle Preserve. Ich weiß aber nicht wie man das hier so zum Funktionieren bringt

    Vielleicht kann mir ja jemand helfen???

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „bandchef“ ()

    Jap nutze einfach ne List(of String) da kannste zufügen, raus löschen, usw.. un bietet die gleiche Funktionalität wie ein Array. Solltest du zu irgendeinem Zeitpunkt tatsächlich ein Array benötigen kannste genau da immer npch deine Liste in ein Array wandeln ( .ToArray Methode)
    bzw... wirklich VBA? dann eine Collection oder ein Dictionary