Sub dynRange_mitFindMethode()
Dim rng As Range
Dim x As Long, y As Long
'
Set rng = Range("A1:B10")
'
x = rng.Find("x").Row
y = rng.Find("y").Row
'
Set rng = Range(Cells(x, 1), Cells(y, 1))
Debug.Print rng.Address
'
Set rng = Nothing
End Sub
Sub dynRange_mitArray()
Dim rng As Range
Dim arr As Variant
Dim var As Variant
Dim lng As Long, x As Long, y As Long
'
Set rng = Range("A1:B10")
arr = rng
'
For lng = 1 To UBound(arr, 1) Step 1
Select Case arr(lng, 2)
Case "x": x = lng
Case "y": y = lng
End Select
Next
'
Set rng = Range(Cells(x, 1), Cells(y, 1))
'
Debug.Print rng.Address
'
Set rng = Nothing
End Sub
zur Methode 1:
Nachteil ist sicherlich, dass wenn kein x oder y vorhanden, läuft es in einen Laufzeitfehler bzw der Fehler muss abgefangen werden.
zur Methode 2:
Hier wird der Fehler erzeugt sobald das neue rng referenziert werden soll, da bei nichtfinden dei LongVariable 0 liefern wird.
|