Přeskočit navigaci | Přeskočit na novinky

Jste zde: Úvodní stránka » excel » vba-listy-bunky » vba-exce-objekt-range-oblast-bunek

Range objekt - oblast buněk - Excel VBA

Co umí objekt Range, k čemu jej lze využít ve VBA Excel

Objekt Range - úvod

Jeden z nejpoužívanějších objektu ve VBA. Tento objekt definuje buňku či oblast buněk. Může se jednat o:

  • Buňku
  • Souvislou oblast buněk
  • Nesouvislou oblast buněk
  • Řádek - ať už jeden nebo několik
  • Sloupec - ať už jeden nebo několik
  • Případně nějaké kombinace řádek a sloupec atd...

V ukazkových kódech ukážu jak se odkazovat na výše uvedené oblasti.

Range - jedna buňka

Pro zjednodušení budu uvažovat aktivní list. v dalších VBA kódech budu vynechávat dekladraci.

Dim MojeRange As Range Set MojeRange = Range("A1")

Pro ukázku odkaz na buňku v jiné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

Range - Celý řádek

Set MojeRange = Range("1:1")

Range - Celý sloupec

Set MojeRange = Range("A:A")

Range - oblast buňek

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")

Zajímavé co? Ale do doby než zapomenete uvozovky. Následující kód vypadá podobně, ale už nejde o stenou oblast ale o dvě oblasti. Tj. A1:B2 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 jej ještě těžší...

Závěrem

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: 08.01.2012 10:53



| tisk stránky TISK | nahoru NAHORU |
| |

Další články k tématu




Komentáře


Lukas

Přidáno: 13.03.12 10:50

Ahoj, prosim ta, je mozne do Range dat aj premennu? Nieco ako je tento priklad: Do While I <= 8 ActiveCell.Offset(1, 0).Select I = I + 1 If ActiveCell = "" Then J = ActiveCell.Address() Exit Do End If Loop Application.Goto ActiveWorkbook.Sheets("visitor").Range("A20:J") Vdaka

Pavel Lasák

Přidáno: 13.03.12 17:07

To Lukas: Range("ProdejData") nebo Range("A1",Range("PosledniBunka"))

Lukas

Přidáno: 14.03.12 09:02

Super, funguje. Vdaka Ale aj tak som to nedomyslel :) Je mozne do toho Range pridat nieco take ako Range(A20:A20+"x") Kde x bude hovorit, aby sa ta bunka nastavila na A23 ak to x bude napr. 3? :)

Pavel Lasák

Přidáno: 15.03.12 18:10

To Lukas: Spočítal bych předem a vložil výsledek.


Přidání nového komentáře




(vlož číslo šest)

Z bezpečnostních důvodu dočasně nemůžete použít HTML značky a URL. Děkuji za pochopení.
Děkuji, za Vaše komentáře.

Za obsah komentářů neodpovídám, jelikož jsou komentáře publikovány ihned po jejich napsání čtenářem. Toto nemohu nijak ovlivnit. Přesto si vyhrazuji možnost jakýkoli neslušný komentář smazat bez udání důvodu.




Nejnovější článek

Z článku o excel jsem jako poslední přidal či upravil článek 14.05.2012:
Kombinování funkcí - vzorců.

Nejčtenější článek




Google+

  

Facebook

facebook  

Novinky

Word: 12.5.2012:
Matematické rovnice (vzorce) - Word 2010

Excel: 14.05.2012:
Kombinování funkcí - vzorců

Access: 28.04.2012:
VBA - Jak spustit v MS Access

Power Point: 25.04.2012:
SmartArt - PowerPoint 2010

Outlook 26.04.2012:
Outlook 2010 - jak vypadá

Project: 05.04.2012:
Kalendář ukázka

OneNote: 17.10.2010:
OneNote 2010 – popis obrazovky

Office 30.04.2012:
Kde hledat odpovědi na dotazy o MS Office

Poděkování

Poděkování patří hlavně mojí nejbáječnější manželce.

LinkedIN

Translate

     

Stránky o MS Office produktu společnosti Micosoft. Neslouží jako technická podpora.
| Email na autora: lasak@centrum.cz | Copyright © : Pavel a Danka 2006 - 2012 |
| Doporučuji: Advokátní kancelář Brno - Dana Lasáková | 1253

Tento web zatím neprošel jazykovou korekturou. Beta verze redakčního systému.