Ich versuche auf Elemente einer Variante zuzugreifen, die ich über Bereiche in einer Excel-Tabelle erstellt habe. Die Anzahl der Zeilen in meinem Bereich ist dynamisch basierend auf der Anzahl der Zeilen im Blatt "Standorte". Daher deklariere ich einfach eine Variante und setze sie dann gleich dem relevanten Bereich. Ich benutze die 4 Variablen, denen Loc vorangestellt ist, um die Grenzen zu finden, und setze die Variante, sobald ich diesen letzten Bereich erstellt habe.Varianten/Iterating/VBA
Ich kann jedoch nicht durch zahlreiche Versuche iterieren. Ich bin sicher, dass ich etwas Grundlegendes vermisse, aber noch die For Every oder für LBound/UBound-Strukturen arbeiten für Array-Iteration machen müssen. Die Variantendaten sind eine Mischung aus Zahlen und Text.
Ihre Gedanken zu der einfachen/einfachen Sache, von der ich sicher bin, dass ich vermisse, werden geschätzt. Ich verstehe, dass für jede schreibgeschützt ist und würde es vorziehen, lesen/schreiben, aber jetzt einfach sicherstellen möchten, kann ich überhaupt durch dieses Array iterieren [wirklich eine Matrix]
Sub Prefill_Work_Sub()
' Variables
Dim LocRowStart As Range
Dim LocRowEnd As Range
Dim LocSheetRange As Range
Dim EndColInt As Integer
Dim LocationsVariant As Variant
' Ending Column Index Set
EndColInt = 72
' First, make range of location sheet
Set LocRowStart = Worksheets("Locations").Range("A2")
Set LocRowEnd = Worksheets("Locations").Cells(Rows.Count, LocRowStart.Column).End(xlUp)
Set LocColEnd = Worksheets("Locations").Cells(LocRowEnd.row, EndColInt)
Set LocSheetRange = Worksheets("Locations").Range(LocRowStart, LocColEnd)
Set LocationsVariant = LocSheetRange
' Verify the range address of the variant
' Debug.Print LocSheetRange.Address
For i = LBound(LocationsVariant) To UBound(LocationsVariant)
Debug.Print LocationsVariant(i, 1)
Next i
' Let's try to iterate through variant for a sec
' Debug.Print LocationsVariant(1, 1)
' Debug.Print LocationsVariant(2, 1)
End Sub
Sie haben keinen Wert für 'LocationsVariant' festgelegt. Wolltest du dem Wert eines Bereichs einen Wert zuweisen? –
@TimWilliams Ich habe gerade diese Zeile bearbeitet und hinzugefügt. Es war dort in meinem Code aber versehentlich in der Post gelöscht. Wenn ich also mit lbound()/ubound() auf die Zeile trete, stoße ich auf einen Typ-Mismatch-Fehler. – ccdrm
Verwenden Sie 'Set' nicht, wenn Sie den Wert zuweisen, wenn Sie ein 2D-Array erhalten möchten. Andernfalls erstellen Sie eine andere Range-type Variable –