Yksinkertaista alueen nimeämistä - Excel-vinkkejä

Sisällysluettelo

Jac kysyy:

Luodaan taulukoita, sama määrä sarakkeita, mutta joka kerta eri määrä rivejä. Voin määrittää ongelmitta viimeisen rivin ja viimeisen sarakkeen tarvittavien laskelmien tekemiseen makrossa. Nyt tarkoituksena on lisätä tähän makroon mahdollisuus nimetä taulukko (samalla nimellä joka kerta), mutta makrossa laskentataulukoon liittyvä solualue on R1C1: RxCy, en tiedä kuinka kirjoittaa alue käyttämällä arvoja lastrow ja lastcolumn (jotka edustavat taulukon viimeistä saraketta ja riviä) RC-järjestelmän kanssa (en edes tiedä onko se mahdollista).

Useimmat VBA-ohjelmoijat käyttävät seuraavaa menetelmää, joka käyttää Names.Add-menetelmää.

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

Alueen nimen määrittäminen on helpompaa menetelmää. Seuraavat neljä lausumaa ovat kaikki vastaavat. Kaksi viimeistä ovat huomattavasti helpompia:

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 - mukautan viimeisen rivin käytettäväksi:

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

Opin tämän pikanäppäimen alueiden nimien määrittämiseksi Bovey & Bullenin Excel 2002 VBA -ohjelmoijan ohjeesta. Tämän kirjan vuoden 2002 versio kiertää ympyrää vuoden 2000 version ympärillä. Rahalleni kuka tahansa Excel VBA -ohjelmoija tarvitsee kirjan oikealla kädellään. Kopioni on koirakorvainen eikä koskaan ulottumattomissa.

Mielenkiintoisia artikkeleita...