http://www.file-upload.net/download-7482352/UnionTes…
Dieser Code setzt die 3 Bereiche A1-A3, A5-A7 und A9-A11 zu
einer Union zusammen und weist diese Union einer
Range-Variablen zu.
Dann zeigt er in einer Schleife alle 9 Elemente einzeln an.
Hier zeigt er aber nicht die zusammengesetzten Ranges an,
sondern A1-A9.
Hallo Andreas,
prinzipiell sehe ich das für mich so, deine Variable r stellt
einen Zellbereich aus 9 Zellen dar. Quasi ein Array.
Und dann ist die erste Adresse in dem Array A1.
Egal ob in Wahrheit die Originaladresse mal G17 war.
A1 steht dann nicht für die oberste linke Zelle in einem
Blatt sondern für die oberste linke Adresse in dem Array.
Scheinbar ist die Adresse G17 vergessen worden.
Dem ist aber nicht so wie du an
r.Value=„huhu“ sehen kannst.
Allerdings hakt meine Array-Idee. In einem Array von 9 Zellen
müßte ein Fehler kommen wenn ich das 12-te Element ansprechen
will, sind ja nur 9.
Schau dir bitte nachstehenden Code an, dann weißte daß ich
da auch nix genaues weiß.
Gruß
Reinhard
Sub tt()
Dim r
'Set r = Range("A1:A3,D5:E6") 'ist wie Union
Set r = Union(Range("A1:A3"), Range("D5:smiley:6"))
MsgBox r.Cells(1, 100).Address
MsgBox r.Cells(90, 4).Address
MsgBox r.Cells(3, 1).Address
MsgBox r(100).Address
MsgBox r(4711).Address
MsgBox r(3).Address
MsgBox r(3)(6)(7).Address
r.Value = "huhu"
End Sub