Daten eines Excel sheets in Array einlesen (VB6)

  • VB6

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von HenryV.

    Daten eines Excel sheets in Array einlesen (VB6)

    Folgendes:
    Ich habe eine Excel-Tabelle (einzelnes Arbeitsblatt), dessen Daten ich für die weitere Verarbeitung in vb6 benötige.

    Bisher lese ich jede Zelle einzeln aus (verkürzt):

    '************
    Dim objEcxelADO As New clsExcelADO

    Do While Not errFlg
    wert = objEcxelADO.ReadCell(Spalte & CStr(Zeile))
    Loop
    '************

    Das funktioniert auch soweit gut, ist aber für größere Datenmengen sehr zeitintensiv (Kunde kam mit einem Excel-Sheet mit 5000 Zeilen zu mir, wo ich nur maximal 100 erwartet hatte)

    Gibt es einen Weg, über einen einzelnen Zugriff einen Bereich aus X Spalten und Y Zeilen auszulesen? Die Daten möchte ich in einem Array zur weiteren Verarbeitung zwischenspeichern. (Rückspeichern nach Excel ist nicht notwendig.

    Gruß, P..
    Hallo P.
    Du kannst einen Range direkt einem Variant zuweisen, dies generiert einen 2-dimensionalen Array.

    Visual Basic-Quellcode

    1. Sub Test()
    2. Dim objRg As Range
    3. Dim V As Variant
    4. Set objRg = ActiveSheet.UsedRange
    5. V = objRg.Value
    6. Dim i As Integer, j As Integer, x As Integer, y As Integer
    7. x = UBound(V, 1)
    8. y = UBound(V, 2)
    9. For i = 1 To x
    10. For j = 1 To y
    11. Debug.Print ("X: " & x & ",Y: " & y & " = " & V(i, j))
    12. Next
    13. Next
    14. End Sub