Zjednodušte pojmenování rozsahu - tipy pro Excel

Jac se ptá:

Generuji tabulky, stejný počet sloupců, ale pokaždé jiný počet řádků. Bez problémů můžu určit poslední řádek a poslední sloupec, abych provedl výpočty, které potřebuji v makru. Účelem je nyní přidat do tohoto makra možnost pojmenovat tabulku (pokaždé se stejným názvem), ale v makru je rozsah buněk přidružený k listu R1C1: RxCy, nevím, jak napsat rozsah pomocí hodnot lastrow a lastcolumn (které představují poslední sloupec a řádek tabulky) se systémem RC (ani nevím, jestli je to možné).

Většina programátorů VBA by použila následující metodu, která používá metodu Names.Add.

Sub Method1() LastRow = Cells(65536, 1).end(xlUp).row LastCol = Cells(1, 255).End(xlToLeft).column MyArea = "='" & ActiveSheet.Name & "'!R1C1:R" & LastRow & "C" & LastCol ActiveWorkbook.Names.Add Name:="TheData", RefersToR1C1:=MyArea End Sub

Existuje jednodušší způsob přiřazení názvu rozsahu. Následující čtyři výroky jsou ekvivalentní. Poslední dva jsou mnohem jednodušší:

ActiveWorkbook.Names.Add Name:="TheData", RefersToR1C1:="=Sheet1!R1C1:R10C5" ActiveWorkbook.Names.Add Name:="TheData", RefersTo:="=Sheet1!A1:E10" Range("A1:E10").Name = "TheData" Cells(1, 1).Resize(10, 5).Name = "TheData"

Jac - upravil bych poslední řádek pro použití:

Sub Method2() LastRow = Cells(65536, 1).end(xlUp).row LastCol = Cells(1, 255).End(xlToLeft).column Cells(1, 1).Resize(LastRow, LastCol).Name = "TheData" End Sub

Tuto zkratku pro přiřazování názvů rozsahů jsem se naučil z příručky Bovey & Bullen's Excel 2002 VBA Programmer's Reference. Verze této knihy z roku 2002 obíhá kolem verze 2000. Za mé peníze potřebuje každý programátor aplikace Excel VBA tuto knihu po své pravé ruce. Moje kopie je ušima a nikdy mimo dosah.

Zajímavé články...