AW: Union(Range
14.06.2016 14:54:17
Daniel
Hi
in der Range-Funktion darf der Addressstring höchstens 256 Zeichen lang sein (auch wenn die Range aus wesentlich mehr Areas bestehen kann)
Wenn du einen Bereich erstellen willst, dessen Adressstring länger als 256 Zeichen ist, müsstst du aus mehreren Teilbereichen zusammenstetzen (mit Union)
dim rngX as range
dim ar as range
set rngX = Range("G12:R20,G22:R34,G36:R37,G39:R43,G45:R52,G54:R60,G62:R68"))
set rngX = Union(rngX, Range("G70:R76,G78:R80,G82:R87,G89:R91,G93:R94,G96:R98"))
set rngX = Union(rngX, Range("G100:R100,G102:R102,G105:R110"))
for each ar in rngX
...
je nach Struktur lässt sich so ein Bereich auch auch über INTERSECT effektiv erstellen:
set rngX = Intersect(Range("G:R"), Range("12:20,22:34,36:37,39:43,45:52,54:60,62:68,...."))
wenn du die VBA-Befehlszeile in eine neue Editorzeile umberechen willst und dieser Umbruch innerhalb eines Textstrings liegen soll, dann so:
For Each ar in Range("G12:R20,G22:R34,G36:R37,G39:R43,G45:R52" & _
",G54:R60,G62:R68,G70:R76,G78:R80,G82:R87")
Gruß Daniel