Jac pita:
Generiram tablice, isti broj stupaca, ali svaki put različit broj redaka. Bez problema mogu odrediti zadnji redak i zadnji stupac za izračun koji su mi potrebni u makronaredbi. Sada je svrha dodati u ovu makronaredbu mogućnost imenovanja tablice (svaki put s istim imenom), ali u makronaredbi raspon ćelija pridružen radnom listu je R1C1: RxCy, ne znam kako napisati raspon koristeći vrijednosti lastrow i lastcolumn (koje predstavljaju posljednji stupac i redak tablice) s RC sustavom (čak ni ne znam je li to moguće).
Većina programera VBA koristila bi sljedeću metodu koja koristi 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
Postoji jednostavnija metoda za dodjeljivanje imena raspona. Sljedeće su četiri izjave jednake. Posljednje dvije su znatno lakše:
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 - prilagodio bih zadnji redak za upotrebu:
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
Ovaj sam prečac za dodjeljivanje imena raspona naučio iz Bovey & Bullenove reference programa Excel 2002 VBA programera. Inačica ove knjige iz 2002. pokreće krugove oko verzije iz 2000. godine. Za moj novac, bilo kojem programeru programa Excel VBA potrebna je ta knjiga s desne strane. Moja je kopija pseće uša i nikad nedostupna.