Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Co umí objekt Range, k čemu jej lze využít ve VBA Excel
Naposled doplněno: 24.10.2014
Jeden z nejpoužívanějších objektu ve VBA Excel. Objekt definuje buňku či oblast buněk, které potřebujeme označit (vybrat). Pro přehlednost je článek rozdělen na jednotlivé kapitoly:
V ukazkových kódech ukážu jak se odkazovat na požadované buňky, oblasti buněk.
Objekt vratí rozsah, který představuje buňku nebo oblast buněk.
Range(bunka_start [,bunka_konec])
Range("A1")
Range(ActiveCell)
Range("A1:B5")
Range("A1", "B5")
Range("A1", ActiveCell)
Range(ActiveCell, ActiveCell.Offset(5, 2))
Podrobněji je popsáno v dalších kapitolách.
V aktivním listě označím buňku A1:
Dim MojeRange As Range
Set MojeRange = Range("A1")
nebo
Set MojeRange = ActiveSheet.Range("A1")
Odkaz na buňku v definovaném listě
Set MojeRange = Worksheets("List23").Range("A1")
Budeme-li chtít buňku označit
Range("A1").Select
nebo
Dim MojeRange As Range
Set MojeRange = Range("A1")
MojeRange.Select
Set MojeRange = Range("1:1")
nebo
Set MojeRange = ActiveSheet.Rows(1)
Potřebujeteli dynamicky vybírat několik souvislých řádků:
radek1 = 1
radek2 = 5
Rows(radek1 & ":" & radek2).Select
Set MojeRange = Range("A:A")
Označit první sloupec
ActiveSheet.Columns(1).select
Několik sloupců
ActiveSheet.Range(Columns(2), Columns(4)).Select
nebo
ActiveSheet.Range("B:D").Select
Set MojeRange = Range("A1:D5")
Tady už to začíný být zajimavé, protože Range lze předat dva parametry. Takže předchozí můžeme zapsat i takhle
Set MojeRange = Range("A1", "D5")
No a jelikož oba argumenty mohou mít rozsah lze provést i třeba tuto fintu. Stále se jedná o stejnou oblast.
Set MojeRange = Range("A1:B2", "C4:D5")
Stačí oddělovat čárkou a máme jednotlivé buňky, oblasti
Set MojeRange = Range("B3, B6, B8")
Pro dvě oblasti
Set MojeRange = Range("A1:B2 , C4:D5")
Pozor na uvozovky sloučené buňky!
Pozor na zapomenuté uvozovky. Následující kódy vypadájí podobně, ale nejde o stejnou oblast A1:D5.
Jednou jde o oblast A1:D5 v druhém případě jde o dvě oblasti A1:2 a C4:D5
' A1:D5
Set MojeRange = Range("A1:B2" , "C4:D5")
' A1:2 a C4:D5
Set MojeRange = Range("A1:B2 , C4:D5")
Poznámka: Takhle to vypadá velice jednoduše, ale když oblast buněk vypisuje nějaký skript, už to tak jednoduché není a nalézt chybu je těžší...
Pokud budete provádět range nad sloučenými buňkami můžete obdržet jinou oblast než se kterou počítate.
pokud je adresa buňky v parametru.
Dim MojeRange As Range
Dim Bunka As String
Bunka = ("B3")
Set MojeRange = Range(Bunka)
MojeRange.Select
Jak označit oblast pouze vyfiltrovných dat. Řádky 2 až 20.
Range("2:20").SpecialCells(xlCellTypeVisible).Select
Soubor
Range - praktické příklady - Excel VBA
ke stažení zdarma. Soubor využívá makra.
Pokud už máte buňku (oblast) označenou můžete s ními dále pracovat například
Pokud Vás něco napadne k Range, můžete přispět do komentářů. V dalším článku proberu Cells, Offset, atd.
Článek byl aktualizován: 19.09.2020 11:06
Pomohl vám článek? Vyřešili jste problém? Můžete mě podpořit zakoupení tabulky (samozdřejmě čokoládové), když kafe nepiji ;) Odkaz na zakoupení čokolády. Za veškerou podporu vám děkuji a samozdřejmě jí využiji do zdokonalování a rozšířování webu.
Případně přidejte odkaz na vaši oblíbenou sociální síť, případně využijste hashtag #JakNaExcel .
Děkuji za váš čas a doufám, že jste nalezli odpověď na svůj problém.
Narazili jste v článku na nejasnost, chybu? Máte tip na vylepšení nebo doplnění článku? Budu rád pokud se zmínite v komentářích.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od dubna roku 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím 8x za sebou). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 20 let (o Excel píší přes 25). Zdarma je zde přes 1.500 návodu, tipů a triků, včetně přes 350 různých šablon, sešitů a přes 70 taháků v pdf.
|
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
|
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2025 |