Ako u radnoj knjizi koristite puno imenovanih ćelija i raspona, možda ćete se iznenaditi kada otkrijete da Excel ne pruža način navođenja pojedinosti za svako ime. Korisne informacije pojavljuju se u dijaloškom okviru Upravitelj imena, ali ne postoji način da se te informacije prikažu na način koji se može ispisati.
Ovdje ponuđeni VBA kod generira korisno izvješće koje opisuje nazive definirane u bilo kojoj radnoj knjizi.
Primjer izvješća o nazivu
Ovdje vidite primjer izvješća o nazivu.
Izvješće, koje se kreira na novom radnom listu, uključuje sljedeće informacije za svako ime:
-
Ime: Ime.
-
RefersTo: definicija za ime. Obično će to biti ćelija ili raspon, ali ime također može definirati formulu.
-
Ćelije: broj ćelija sadržanih u imenovanom rasponu. Za imenovane formule, ovo polje prikazuje #N/A.
-
Opseg: Opseg naziva — ili Radna knjiga ili naziv određenog radnog lista na kojem je naziv važeći.
-
Skriveno: Istina ako je ime skriveno. Skrivena imena stvaraju neki dodaci (kao što je Solver) i ne pojavljuju se u dijaloškom okviru Upravitelj imena.
-
Pogreška: Istina ako naziv sadrži pogrešnu referencu.
-
Veza: hiperveza koja, kada se klikne, aktivira imenovani raspon. Samo nazivi koji se odnose na ćelije ili raspone uključuju vezu.
-
Komentar: Komentar za ime, ako postoji.
VBA kod
Za korištenje ovog koda pritisnite Alt+F11 da aktivirate Visual Basic Editor. Zatim odaberite Umetanje → Modul za umetanje novog VBA modula. Kopirajte kod i zalijepite ga u novi modul.
Sub GenerateNameReport()
' Generira izvješće za sva imena u radnoj knjizi
' (Ne uključuje nazive tablica)
Dim n Kao ime
Dim Row As Long
Dim CellCount kao varijanta
' Izađite ako nema imena
Ako je ActiveWorkbook.Names.Count = 0 Tada
MsgBox "Aktivna radna knjiga nema definirana imena."
Izlaz pod
Završi ako
' Izađite ako je radna knjiga zaštićena
Ako ActiveWorkbook.ProtectStructure Onda
MsgBox "Novi list se ne može dodati jer je radna knjiga zaštićena."
Izlaz pod
Završi ako
' Umetnite novi list za izvješće
ActiveWorkbook.Worksheets.Add
ActiveSheet.Move After:=Sheets(ActiveWorkbook.Sheets.Count)
ActiveWindow.DisplayGridlines = False
' Dodajte prvi redak naslova
Raspon (“A1:H1”).Spajanje
S rasponom (“A1”)
.Value = "Izvješće o nazivu za: " & ActiveWorkbook.Name
.Veličina fonta = 14
.Font.Podebljano = Točno
.HorizontalAlignment = xlCenter
Završi s
' Dodajte drugi redak naslova
Raspon (“A2:H2”).Spajanje
S rasponom (“A2”)
.Vrijednost = "Generirano " & sada
.HorizontalAlignment = xlCenter
Završi s
' Dodajte zaglavlja
Raspon(“A4:H4”) = Niz(“Ime”, “RefersTo”, “Cells”, _
"Opseg", "Skriveno", "Pogreška", "Veza", "Komentar")
' Prelistajte imena
Red = 4
U slučaju pogreške Nastavi dalje
Za svaki n U ActiveWorkbook.Imena
Red = Red + 1
'Stupac A: Ime
Ako n.Naziv poput “*!*” Zatim
Ćelije (Red, 1) = Split(n.Name, “!”)(1) ' Ukloni naziv lista
Drugo
Ćelije (Red, 1) = n.Naziv
Završi ako
'Stupac B: odnosi se na
Ćelije (Red, 2) = "'" & n. Odnosi se na
'Stupac C: Broj ćelija
CellCount = CVERr(xlErrNA) ' Povratna vrijednost za imenovanu formulu
Broj ćelija = n.RefersToRange.CountLarge
Ćelije (Red, 3) = Broj ćelija
' Stupac D: Opseg
Ako n.Naziv poput “*!*” Zatim
Ćelije(Row, 4) = Split(n.Name, “!”)(0) ' naziv lista izvlačenja
Ćelije(Red, 4) = Zamijeni(Ćelije(Red, 4), “'“, ““) 'ukloni apostrofe
Drugo
Ćelije (Red, 4) = "Radna knjiga"
Završi ako
'Stupac E: Skriven status
Ćelije (Red, 5) = Nije n. Vidljivo
'Stupac F: Pogrešan naziv
Ćelije (Red, 6) = n. Odnosi se na "*[#]REF!*"
'Stupac G: Hiperveza
Ako nije Application.IsNA(Cells(Row, 3)) Onda
ActiveSheet.Hyperlinks.Add _
Sidro:=Ćelije (Red, 7), _
Adresa:=““, _
Podadresa:=n.Naziv, _
TextToDisplay:=n.Naziv
Završi ako
'Stupac H: Komentar
Ćelije (Red, 8) = n.Komentar
Sljedeći n
' Pretvorite ga u tablicu
ActiveSheet.ListObjects.Add _
Vrsta izvora:=xlSrcRange, _
Izvor:=Raspon(“A4”).Trenutna regija
' Podesite širinu stupaca
Stupci(“A:H”).Cijeli stupac.Automatsko uklapanje
Kraj Sub
Generiranje izvješća
Izvršite proceduru GenerateNameReport i izvješće se generira na novom radnom listu u aktivnoj radnoj knjizi. Kôd ne mora biti u radnoj knjizi koja sadrži nazive izvješća.
Ako smatrate da je ovaj kod koristan, možda biste ga željeli pohraniti u svoju osobnu radnu knjigu makronaredbi ili izraditi dodatak.