Schleife aus Array

Hallo Leute

Möchte mir einen Array bilden und anschliessend ein For-Next Schleife
mit dem Inhalt laufen lassen.
Die rng(x) Variablen sind bereits in einem anderen Sub, Public und als Range deklariert und zugewiesen worden.

Mein Idee:

Sub tt()
Dim myvar(1 To 4) As Range
Dim i As Integer
myvar(1) = rng1
myvar(2) = rng2
myvar(3) = rng3
myvar(4) = rng4
For i = 1 To 4
myvar(i).Interior.Color = 65535
Next i
End Sub

läuft aber nicht… kann ein Array nur Werte lesen ?

Gruss
Snetto

Möchte mir einen Array bilden und anschliessend ein For-Next
Schleife
mit dem Inhalt laufen lassen.
Die rng(x) Variablen sind bereits in einem anderen Sub, Public
und als Range deklariert und zugewiesen worden.

läuft aber nicht… kann ein Array nur Werte lesen ?

Hallo Snetto,

bitte nicht „läuft aber nicht“ sonern viel genauer beschreiben. Fehlerzeile, Fehlermeildung usw.

Option Explicit
Public rng1 As Range

Sub tt()
Dim myvar(1 To 4) As Range
Dim i As Integer
Set rng1 = Columns(1)
Set myvar(1) = rng1
'myvar(2) = rng2
'myvar(3) = rng3
'myvar(4) = rng4
For i = 1 To 1
 myvar(i).Interior.Color = Int(Rnd() \* 65536)
Next i
End Sub

Gruß
Reinhard

Hallo Reinhard

Vielen Dank

Aber was bedeutet denn:
Int(Rnd() * 65536)

die Funktion ist mir nicht bekannt !

Gruss
Snetto

hallo Snetto,

Aber was bedeutet denn:
Int(Rnd() * 65536)

die Funktion ist mir nicht bekannt !

welche? Es sind zwei Funktionen. Int() entspricht in Excel Ganzzahl().
Rnd() entspricht Zufallszahl().

Alle vier Begriffe werden in der Vba-Hilfe und der Excel-Hilfe jeweils erläutert.

Wenn danach noch was unklar ist, frag nochmal gezielt an.

Gruß
Reinhard

Danke