Az Excel használata közben többféleképpen keletkezhetnek nem összefüggő tartományok:
- Mi jelöljük ki a Ctrl billentyűvel
- Szűréssel keletkeznek
- Speciális kijelölést használunk, pl.: Az összes képletet tartalmazó cella kijelölése
- VBA kódból jelölünk ki nem összefüggően (lásd itt)
- Egyéb ?
Akármilyen módon is keletkeztek a tartományok, a kezelésük már nem annyira egyszerű, sőt, bizonyos műveletek nem megengedettek ilyen kijelöléskor. Például nem lehet beilleszteni értékeket a vágólapról.
Elméleti háttér
Ha több tartományt jelölünk ki, akkor a kijelölésen (Selection) belül létrejön egy új kollekció „AREAS” (területek) néven. Próbáljuk ki, hogy kijelölünk néhány nem összefüggő tartományt CTRL lenyomásával, majd az Immedate ablakba beirjuk:
?Selection.areas.count
Válaszként megkapjuk, hogy hány tartományt jelöltünk ki. A képen látható, hogy három tartomány kijelölése után milyen választ kaptunk.
A gyűjtemény egyes területeire a SELECTION.AREAS(n) módon lehet hivatkozni.
A területek (areas) bejárása
Mivel ez is egy kollekció, a bejárásához legegyszerűbben egy for each ciklust lehet használni. A példában a kijelölt területek celláinak a számát írjuk ki egy üzenőboxba. A kód futtatása előtt legyen kijelölve legalább kettő, de jobb, ha több tartomány.
[vb]Sub areas()
Dim r As Range
‘A keletkezett tartományok (areas) bejárása
For Each r In Selection.Areas
r.Select
msgbox selection.cells.count
Next
End Sub
[/vb]
Vélemény, hozzászólás?
Hozzászólás küldéséhez be kell jelentkezni.