Teď jste offline a čekáte, až se znova připojí internet.

Váš prohlížeč není podporovaný.

Pokud chcete používat tento web, musíte si aktualizovat prohlížeč.

Aktualizovat na nejnovější verzi Internet Exploreru

Výběr buněk či oblastí pomocí procedur jazyka Visual Basic v aplikaci Excel

Podpora Office 2003 byla ukončena.

Společnost Microsoft ukončila dne 8. dubna 2014 podporu Office 2003. Tato změna ovlivnila aktualizace softwaru a možnosti zabezpečení. Další informace o tom, co to pro vás znamená a jak zajistit ochranu

Další informace
Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci, bez žádné záruky výslovně uvedené nebo odvozené, včetně, bez omezení, odvozených záruk vztahujících se k obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že uživatel je obeznámený s programovacím jazykem, který je předmětem ukázky, a s nástroji použitými pro vytvoření a ladění skriptu. Pracovníci technické podpory společnosti Microsoft mohou vysvětlit funkce určitého postupu, nemohou však následující příklady rozšířit o další funkce nebo konstrukce podle konkrétních požadavků uživatele. Příklady v tomto článku využívají metody jazyka Visual Basic uvedené v následující tabulce.
   Metoda             Argumenty   ------------------------------------------   Activate           žádné   Cells              rowIndex, columnIndex   Application.Goto   odkaz, posunutí   Offset             rowOffset, columnOffset   Range              cell1                      cell1, cell2   Resize             rowSize, columnSize   Select             žádné   Sheets             index (nebo sheetName)   Workbooks          index (nebo bookName)   End                směr   CurrentRegion      žádné				
Příklady v tomto článku využívají vlastnosti v následující tabulce.
   Vlastnost         Použití   ---------------------------------------------------------------------   ActiveSheet      určení aktivního listu   ActiveWorkbook   určení aktivního sešitu   Columns.Count    spočítání sloupců v zadané položce   Columns.Count    spočítání řádků v zadané položce   Selection        odkaz na aktuálně vybranou oblast				

1: Jak vybrat buňku v aktivním sešitu

Chcete-li vybrat buňku D5 v aktivním sešitu, můžete použít některý z následujících příkladů:
ActiveSheet.Cells(5, 4).Select				
–nebo–
ActiveSheet.Range("D5").Select				

2: Jak vybrat buňku na jiném listu stejného sešitu

Chcete-li vybrat buňku E6 na jiném listu stejného sešitu, můžete použít některý z následujících příkladů:
Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)				
   nebo				
Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))				
Nebo můžete aktivovat příslušný list a potom vybrat buňku pomocí metody 1:
Sheets("Sheet2").ActivateActiveSheet.Cells(6, 5).Select				

3: Jak vybrat buňku na listu jiného sešitu

Chcete-li vybrat buňku F7 na listu jiného sešitu, můžete použít některý z následujících příkladů:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)				
nebo
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("F7")				
Nebo můžete aktivovat příslušný list a potom vybrat buňku pomocí metody 1:
Workbooks("BOOK2.XLS").Sheets("Sheet1").ActivateActiveSheet.Cells(7, 6).Select				

4: Jak vybrat oblast buněk na aktivním listu

Chcete-li vybrat oblast buněk C2:D10 na aktivním listu, můžete použít některý z následujících příkladů:
ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select				
ActiveSheet.Range("C2:D10").Select				
ActiveSheet.Range("C2", "D10").Select				

5: Jak vybrat oblast buněk na jiném listu stejného sešitu

Chcete-li vybrat oblast buněk D3:E11 na jiném listu stejného sešitu, můžete použít některý z následujících příkladů:
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")				
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3", "E11")				
Nebo můžete aktivovat daný list a potom vybrat oblast pomocí metody 4:
Sheets("Sheet3").ActivateActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select				

6: Jak vybrat oblast buněk na listu jiného sešitu

Chcete-li vybrat oblast buněk E4:F12 na listu jiného sešitu, můžete použít některý z následujících příkladů:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4:F12")				
Application.Goto _      Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")				
Nebo můžete aktivovat daný list a potom vybrat oblast pomocí metody 4:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate   ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select				

7: Jak vybrat pojmenovanou oblast na aktivním listu

Chcete-li vybrat pojmenovanou oblast Test na aktivním listu, můžete použít některý z následujících příkladů:
Range("Test").Select				
Application.Goto "Test"				

8: Jak vybrat pojmenovanou oblast na jiném listu stejného sešitu

Chcete-li vybrat pojmenovanou oblast Test na jiném listu stejného sešitu, můžete použít následující příklad:
Application.Goto Sheets("Sheet1").Range("Test")				
Nebo můžete aktivovat příslušný list a potom vybrat pojmenovanou oblast pomocí metody 7:
Sheets("Sheet1").ActivateRange("Test").Select				

9: Jak vybrat pojmenovanou oblast na listu jiného sešitu

Chcete-li vybrat pojmenovanou oblast Test na listu jiného sešitu, můžete použít následující příklad:
Application.Goto _   Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")				
Nebo můžete aktivovat příslušný list a potom vybrat pojmenovanou oblast pomocí metody 7:
Workbooks("BOOK2.XLS").Sheets("Sheet2").ActivateRange("Test").Select				

10: Jak vybrat buňku v určitém vztahu k aktivní buňce

Chcete-li vybrat buňku, která je o pět řádků níže a o čtyři sloupce vlevo od aktivní buňky, můžete použít následující příklad:
ActiveCell.Offset(5, -4).Select				
Chcete-li vybrat buňku, která je o dva řádky výše a o tři sloupce vpravo od aktivní buňky, můžete použít následující příklad:
ActiveCell.Offset(-2, 3).Select				
Poznámka: Při pokusu o výběr buňky, která leží mimo oblast listu, dojde k chybě. Je-li ve výše uvedené prvním příkladu aktivní buňka ve sloupcích A až D, bude vrácena chyba, jelikož přesunem o čtyři sloupce doleva by došlo k přemístění aktivní buňky na neplatnou adresu buňky.

11: Jak vybrat buňku v určitém vztahu k jiné (neaktivní) buňce

Chcete-li vybrat buňku, která leží o pět řádků níže a o čtyři sloupce vpravo od buňky C7, můžete použít některý z následujících příkladů:
ActiveSheet.Cells(7, 3).Offset(5, 4).Select				
ActiveSheet.Range("C7").Offset(5, 4).Select				

12: Jak vybrat oblast buněk odsazenou od zadané oblasti

Chcete-li vybrat oblast buněk stejné velikosti jako pojmenovaná oblast Test, která je však posunutá o čtyři řádky dolů a o tři sloupce doprava, můžete použít následující příklad:
ActiveSheet.Range("Test").Offset(4, 3).Select				
Je-li pojmenovaná oblast na jiném (neaktivním) listu, je třeba nejprve tento list aktivovat a potom vybrat oblast pomocí následujícího příkladu:
Sheets("Sheet3").ActivateActiveSheet.Range("Test").Offset(4, 3).Select				

13: Jak vybrat zadanou oblast a změnit velikost výběru

Chcete-li vybrat pojmenovanou oblast Databáze a rozšířit výběr o pět řádků, můžete použít následující příklad:
Range("Database").SelectSelection.Resize(Selection.Rows.Count + 5, _   Selection.Columns.Count).Select				

14: Jak vybrat zadanou oblast, odsadit ji a potom změnit její velikost

Chcete-li vybrat oblast o čtyři řádky níže a o tři sloupce vpravo od pojmenované oblasti Databáze a přidat o dva řádky a jeden sloupec více, než je v pojmenované oblasti, můžete použít následující příklad:
Range("Database").SelectSelection.Offset(4, 3).Resize(Selection.Rows.Count + 2, _   Selection.Columns.Count + 1).Select				

15: Jak vybrat sjednocení dvou či více zadaných oblastí

Chcete-li vybrat sjednocení (tedy spojenou oblast) dvou pojmenovaných oblastí Test a Vzor, můžete použít následující příklad:
Application.Union(Range("Test"), Range("Sample")).Select				
Obě oblasti musí být na stejném listu, jinak nebude příklad fungovat. Také je třeba vědět, že metoda Union (Sjednocení) nefunguje mezi různými listy. Například tento řádek funguje správně
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet1!C3:D4"))				
a tento řádek
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet2!C3:D4"))				
vrátí chybovou zprávu:
Metoda Union třídy aplikace se nezdařila

16: Jak vybrat průnik dvou či více zadaných oblastí

Chcete-li vybrat průnik dvou pojmenovaných oblastí Test a Vzor, můžete použít následující příklad:
Application.Intersect(Range("Test"), Range("Sample")).Select				
Obě oblasti musí být na stejném listu, jinak nebude příklad fungovat.



Příklady 17 až 21 v tomto článku se týkají následující ukázkové sady dat. Každý z příkladů udává oblast buněk v ukázce dat, která bude vybrána.
   A1: Název       B1: Prodej    C1: Množství   A2: a       B2: $10      C2: 5   A3: b       B3:          C3: 10   A4: c       B4: $10      C4: 5   A5:         B5:          C5:   A6: Celkem   B6: $20      C6: 20				

17: Jak vybrat poslední buňku ve sloupci souvislých dat

Chcete-li vybrat poslední buňku ve sloupci souvislých dat, použijte následující příklad:
ActiveSheet.Range("a1").End(xlDown).Select				
Při použití tohoto kódu v ukázkové tabulce bude vybrána buňka A4.

18: Jak vybrat prázdnou buňku na konci sloupce souvislých dat

Chcete-li vybrat buňku pod souvislou oblastí buněk, použijte následující příklad:
ActiveSheet.Range("a1").End(xlDown).Offset(1,0).Select				
Při použití tohoto kódu v ukázkové tabulce bude vybrána buňka A5.

19: Jak vybrat celou oblast souvislých buněk ve sloupci

Chcete-li vybrat oblast souvislých buněk ve sloupci, použijte některý z následujících příkladů:
ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown)).Select				
   nebo				
ActiveSheet.Range("a1:" & ActiveSheet.Range("a1"). _      End(xlDown).Address).Select				
Při použití tohoto kódu ve vzorové tabulce budou vybrány buňky A1 až A4.

20: Jak vybrat celou oblast nesouvislých buněk ve sloupci

Chcete-li ve sloupci vybrat oblast buněk, které jsou nesouvislé, použijte některý z následujících příkladů:
ActiveSheet.Range("a1",ActiveSheet.Range("a65536").End(xlUp)).Select				
   nebo				
ActiveSheet.Range("a1:" & ActiveSheet.Range("a65536"). _   End(xlUp).Address).Select				
Při použití tohoto kódu ve vzorové tabulce budou vybrány buňky A1 až A6.

21: Jak vybrat obdélníkovou oblast buněk

Chcete-li vybrat obdélníkovou oblast buněk okolo určité buňky, použijte metodu CurrentRegion. Oblast vybraná metodou CurrentRegion je oblast ohraničená kombinací prázdných řádků a prázdných sloupců. Následuje příklad použití metody CurrentRegion:
ActiveSheet.Range("a1").CurrentRegion.Select				
Tento kód vybere buňky A1 až C4. Následují další příklady, jak vybrat stejnou oblast buněk:
ActiveSheet.Range("a1", _   ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select				
   nebo				
ActiveSheet.Range("a1:" & _   ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select				
V některých případech budete možná chtít vybrat oblast buněk A1 až C6. V tom případě nebude metoda CurrentRegion účinná, protože řádek 5 je prázdný. V následujících příkladech budou vybrány všechny buňky:
lastCol = ActiveSheet.Range("a1").End(xlToRight).ColumnlastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).RowActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select				
    nebo				
lastCol = ActiveSheet.Range("a1").End(xlToRight).ColumnlastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).RowActiveSheet.Range("a1:" & _   ActiveSheet.Cells(lastRow, lastCol).Address).Select				

22: Jak vybrat více nesouvislých sloupců různé délky

Chcete-li vybrat více nesouvislých sloupců různé délky, použijte následující ukázkovou tabulku a příklad makra:
   A1: 1  B1: 1  C1: 1  D1: 1   A2: 2  B2: 2  C2: 2  D2: 2   A3: 3  B3: 3  C3: 3  D3: 3   A4:    B4: 4  C4: 4  D4: 4   A5:    B5: 5  C5: 5  D5:   A6:    B6:    C6: 6  D6:				
StartRange = "A1"EndRange = "C1"Set a = Range(StartRange, Range(StartRange).End(xlDown))Set b = Range(EndRange, Range(EndRange).End(xlDown))Union(a,b).Select				
Při použití tohoto kódu v ukázkové tabulce budou vybrány buňky A1:A3 a C1:C6.

POZNÁMKY K PŘÍKLADŮM

  • Vlastnost ActiveSheet lze obvykle vynechat, protože pokud není uveden určitý list, je předpokládán aktivní list. Například namísto kódu
    ActiveSheet.Range("D5").Select						
    můžete použít kód:
    Range("D5").Select						
  • Také vlastnost ActiveWorkbook lze obvykle vynechat. Není-li uveden určitý sešit, předpokládá se aktivní sešit.
  • Použijete-li metodu Application.Goto a chcete použít dvě metody Cells (Buňky) v rámci metody Range (Oblast) a přitom je zadaná oblast na jiném (neaktivním) listu, je třeba vždy zahrnout objekt Sheets (Listy). Příklad:
    Application.Goto Sheets("Sheet1").Range( _      Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 3), _      Sheets("Sheet1").Cells(4, 5)))					
  • Každou položku uvedenou v závorkách (například pojmenovaná oblast „Test“) je možné též použít jako proměnnou, jejíž hodnota je textový řetězec. Například namísto kódu
    ActiveWorkbook.Sheets("Sheet1").Activate						
    můžete použít kód
    ActiveWorkbook.Sheets(myVar).Activate						
    kde hodnota proměnné myVar je „List1“.
Odkazy

Další informace o způsobu použití ukázkového kódu v tomto článku naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
290140 Jak spustit ukázkový kód v aplikacích sady Office XP z článků znalostní báze Knowledge Base (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
OfficeKBHowTo howto contiguous how to discontiguous non-contiguous nonadjacent non-adjacent  XL2003 XL2007 XL2010
Vlastnosti

ID článku: 291308 - Poslední kontrola: 03/09/2014 01:17:00 - Revize: 7.0

  • Microsoft Office Excel 2003
  • Microsoft Office Excel 2007
  • Microsoft Excel 2010
  • kbautomation kbmacro kbdtacode kbhowto kbprogramming KB291308
Váš názor
mp;t=">/html>50&did=1&t=">id=1&t=">