ich arbeite an einer Methode, eine Selection in Abhängigkeit der Anzahl ihrer Spalten entweder zeilenweise oder gleich "en bloc" in ein Array zu übertragen. Zeilenweise hat es auch kurz funktioniert, aber nie blockweise (.columns.count = 1). Ich weiß nicht mehr, was ich noch ändern soll, damit beide Varianten laufen. Dimensionierung? Deklaration des Arrays? Vielleicht kann jemand bei Gelegenheit und Interesse mal einen Blick darauf werfen. Ich würde mich freuen.
Option Explicit
Sub ArrayEinlesen()
Dim rgTemp As Range
Dim clCell As Range
Dim i As Long
Dim ii As Long
Dim arrTest() As Variant 'as Range 'as Object
With Selection
If .Columns.Count = 1 Then
arrTest = Selection
Else
For i = 1 To .Rows.Count
ReDim arrTest(1 To .Rows.Count, 1 To 1)
Set arrTest(i, 1) = .Rows(i)
Next i
End If
End With
For i = LBound(arrTest, 1) To UBound(arrTest, 1)
For ii = LBound(arrTest, 2) To UBound(arrTest, 2)
rgTemp = arrTest(i, ii)
Debug.Print rgTemp.Address
For Each clCell In rgTemp.Cells
Debug.Print clCell.Address
Next clCell
Next ii
Next i
End Sub
Vielen Dank und Grüße, Andreas Hanisch