Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Označit buňku pomocí SELECT, ale jak na to, čtěte dále.
Nově doplněno 13.12.2018 - dynamicky jiný list
V tomto článku jsou představeny tyto kódy:
V našem případě potřebujeme označit buňku B3
ActiveSheet.Range("B3").Select
nebo
ActiveSheet.Cells(3, 2).Select
Poznámka: při vybíraní přes Cells je nejprve řádek a poté sloupec.
Nejednoduši je využít toho co víme. Takže se do sešitu (v našem příkladě List5) přepneme a použijeme příkazy dle předchozího odstavce.
Sheets("List5").Activate
a pak je to jasné pro buňku B3
ActiveSheet.Range("B3").Select
´ nebo
ActiveSheet.Cells(3, 2).Select
Nebo využít Application.Goto
Application.Goto ActiveWorkbook.Sheets("List2").Cells(3, 2)
nebo pomocí Range
Application.Goto (ActiveWorkbook.Sheets("List2").Range("B3"))
Napřiklad sešit pokus.xls na listě "List2"
Workbooks("pokus.xls").Sheets("List2").Activate
a klasicky co je jasné, pro buňku B3
ActiveSheet.Range("B3").Select
´ nebo
ActiveSheet.Cells(3, 2).Select
Nebo využít Application.Goto
Application.Goto Workbooks("Sešit2.XLS").Sheets("List1").Cells(3, 2)
´ nebo
Application.Goto Workbooks("Sešit2.XLS").Sheets("List1").Range("B3")
Budeme vybírat oblast C3:E11 na aktivním listě, lze použít:
ActiveSheet.Range(Cells(3, 3), Cells(11, 5)).Select
´ nebo
ActiveSheet.Range("C3:E11").Select
´ nebo
ActiveSheet.Range("C3", "E11").Select
Sepsáno v článku: Range objekt - oblast buněk
Budeme vybírat oblast C3:E11 na listu "List5"
Application.Goto ActiveWorkbook.Sheets("List5").Range("C3:E11")
´ nebo
Application.Goto ActiveWorkbook.Sheets("List5").Range("C3", "E11")
Nebo se přepnout do Listu5 a použít předchozí příklad (List5 bude aktivním listem)
Sheets("List5").Activate
Vybereme na v sešitu muj.xls na listě List3 oblast C3:E11.
Application.Goto Workbooks("muj.xls").Sheets("List3").Range("C3:E11")
´ nebo
Application.Goto Workbooks("muj.xls").Sheets("Listt3").Range("C3", "E11")
Nebo se přepnout do sešitu muj.xls na List3 a použít předchozí příklad (List3 bude aktivním listem)
Workbooks("muj.xls").Sheets("List3").Activate
Potřebuji dynamicky označovat oblast na jiném listě. Například pro kopírování atd.
Range("B10:C13").Select
Range("B10", "C13").Select
Range(Cells(10, 2), Cells(13, 3)).Select
Klasika je jasná ale při použití Cells musí Excel vědět na kterém listě. Což je možno provést:
Sheets("Jiny").Activate
' problém nebude vědět, kde je Cells (2,2)
' Sheets("Jiny").Range(Cells(2, 2), Cells(13, 3)).Select
Pokud uvedeme kde, zafunguje:
Sheets("Jiny").Activate
Sheets("Jiny").Range(Sheets("Jiny").Cells(2, 2), Sheets("Jiny").Cells(13, 3)).Select
Sheets("Jiny").Activate
ActiveSheet.Range(ActiveSheet.Cells(2, 2), ActiveSheet.Cells(7, 4)).Select
' řádky a sloupce lze zadávát dynamicky
Dynamicky
Radek_zacatek = 2
Sloupec_zacatek = 2
Radek_konec = 7
Sloupec_konec = 4
Sheets("Jiny").Activate
ActiveSheet.Range(ActiveSheet.Cells(Radek_zacatek, Sloupec_zacatek), _
ActiveSheet.Cells(Radek_konec, Sloupec_konec)).Select
A doplnění o nasetování daného listu:
Dim sht As Worksheet
Set sht = Sheets("Jiny")
sht.Activate
sht.Range(sht.Cells(2, 2), sht.Cells(7, 4)).Select
A případně ještě dynamicky pozici...
Máme oblast pojmenovanou Test. A tuto chceme vybrat.
Range("Test").Select
Podobně můžeme pojmenovanou oblast vybírat na jiném listě, či v jiném sešitu. Což předpokládám není potřeba rozvádět. Pokud tyto požadavky budou v komentářích doplním do článku.
Zjistit, které buňky jsou označeny a vypsat je nebo uložit do proměné.
Dim Bunka As Range
For Each Bunka In Selection
MsgBox "Vybraný řádek je " & Bunka.Row
MsgBox "Vybraný sloupec je " & Bunka.Column
'uloz do promene: pokus = Bunka.Row
Next Bunka
Do označených buněk zapiš požadovaný text. Například: http://office.lasakovi.com
Dim Bunka As Range
For Each Bunka In Selection
Bunka.Value = "http://office.lasakovi.com"
Next Bunka
Jak zapisovat data do buněk je popsáno v samostatném článku:
Soubor
Select - Jak vybrat označit buňky - praktické příklady - Excel VBA
ke stažení zdarma. Soubor využívá makra. Pro Excel 2007 a vyšší.
Pokud už máte buňku (oblast) označenou můžete s ními dále pracovat například
Máte nějaké zajímavé kódy, týkající se tématu označování buněk (oblastí) v Microsoft Excelu pomocíc VBA? Můžete se pochlubit v komentářích.
Č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 |