Obszar
Range posiadać może jedną komórkę lub zakres.
Dla jednej komórki w notacji adresu:
to samo mozna przekazać z notacji komórki (zapis jak wektor):
Dla zakresu:
notacja wektorowa:
A wiec zapis
Range(Cells(a,b),Cells(c,d)) to nic innego jak zakres Range od-do czyli jak wyżej.
To też pętla "dla każdej komórki"
ForEach to:
Kod: Zaznacz cały
dim a&,b&,c&,d&,el as range
a = 1: b = 1: c = 2: d = 4 'podaje podobne wartości aby Afish skumał
dim r as range: set r = Range(Cells(a,b),Cells(c,d))
for each el in r
debug.print el.value 'podaje wartość każdej komórki w zakresie "a1:b4" w immediate [Ctrl+g]
next r
p.s.
notacja
Cells(a,b)=tab[a] nie pochodzi z VBA. Nie da się przypisać tablicy do adresu komórki , zwłaszcza ze tablica w VBA to:
Kod: Zaznacz cały
dim tabl() as variant
tabl() = range("a1:b4")
'można sprawdzić wartość tablicy w tym miejscu tabl(a,b)
debug.print tabl(1,2)
a zwrot tablicy do zakresu musi przewidzieć max zakres i wypełnia on komórki począwszy od zadeklarowanego adresu: