
Makro v Excelu - výběr oblasti
Ahoj, už dlouho se snažím dokopat k tomu, abych se trochu víc naučil s VBS, ale než na to dojde, dovolím si vás požádat ještě jednou o radu:
1. Mějme situaci jako na přiloženém obrázku (popisuje např. výdeje v táborové kuchyni):
[img=/file/view/384-xls-png]http://pc.poradna.net/file/view/384-xls-png[/img]
2. Úkolem je napsat makro, které z této tabulky vybere všechny řádky, které obsahují vyplněné všechny sloupečky a takto vybranou oblast následně pojmenuje např. "Oblast" (pojmenováním oblasti rozumím vepsání jejího názvu do políčka, které také vidíme na obrázku úplně vlevo nahoře, abychom si rozuměli.
3. Lze vycházet z následujících platných tvrzení:
- Tabulka bude mít vždy tři sloupečky a vždy platí, že pokud je něco napsáno ve sloupečku "A", tak bude vyplněný i sloupeček "B" a "C"
- Sloupeček "C" bude vždy svisle přečuhovat přes sloupečky "A" a "B"
- Tabulka nikdy nebude obsahovat prázdné řádky vložené mezi vyplněné řádky (lze tedy použít poslední buňku sloupečku "A" jako detekci konce oblasti)
- Před spuštěním makra lze umístit kurzor libovolně do tabulky
- Počet řádků je neznámý (a to je právě ten problém pro mě) a makro bude spouštěno v různých verzích stejného XLS s různým počtem řádků.
Výsledkem proběhnuvšího makra v tomto konkrétním případě by tedy měla být pojmenovaná oblast "Oblast", která v sobě bude obsahovat buňky A5:C18.
Používám Excel 2007 English ale předpokládám funkčnost i pro Excel 2003.
Děkuji mockrát.
Takové věci řeš jednoduše - zakni zaznam makra, udělej, co potřebuješ a jdi do upravy makra. Tam to máš vše krásně naservírované.
Takyže to tak dělám, ale s tímhle mi záznam moc nepomohl. Nejsem ještě tak zběhlý, abych tam toto doplnil.
Toto pouzivam na zistenie rozsahu tabulky
' Zisti rozsah tabulky(A1,xy)
Range("A1").Select
On Error Resume Next
myLastRow = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
mylastcolumn = Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column
myLastCell = Cells(myLastRow, mylastcolumn).Address
myrange = "a1:" & myLastCell
Zaujimave stranky k excelu:
http://www.dataspectrum.cz/pages/glossary/glossary .htm
http://www.angelfire.com/biz7/julian_s/julian/juli ans_macros.htm
http://www.dataspectrum.cz/pages/learning/learning main.htm