Ef þú notar fullt af nafngreindum frumum og sviðum í vinnubókinni þinni gætirðu verið hissa að uppgötva að Excel veitir enga leið til að skrá upplýsingar um hvert nafn. Gagnlegar upplýsingar birtast í nafnastjórnunarglugganum, en það er engin leið að birta þessar upplýsingar á þann hátt sem hægt er að prenta.
VBA kóðinn sem boðið er upp á hér býr til gagnlega skýrslu sem lýsir nöfnunum sem eru skilgreind í hvaða vinnubók sem er.
Dæmi um nafnaskýrslu
Hér sérðu dæmi um nafnaskýrslu.

Skýrslan, sem er búin til á nýju vinnublaði, inniheldur eftirfarandi upplýsingar fyrir hvert nafn:
-
Nafn: Nafnið.
-
RefersTo: Skilgreining á nafninu. Venjulega mun þetta vera hólf eða svið, en nafn getur einnig skilgreint formúlu.
-
Frumur: Fjöldi frumna sem eru á nafngreindu sviði. Fyrir nafngreindar formúlur sýnir þessi reitur #N/A.
-
Gildissvið: Umfang nafnsins - annað hvort vinnubók eða nafn á tilteknu vinnublaði sem nafnið er gilt á.
-
Falinn: Rétt ef nafnið er falið. Falin nöfn eru búin til af sumum viðbótum (eins og Solver) og birtast ekki í nafnastjórnunarglugganum.
-
Villa: Satt ef nafnið inniheldur ranga tilvísun.
-
Tengill: Tengill sem, þegar smellt er á hann, virkjar nafngreint svið. Aðeins nöfn sem vísa í frumur eða svið innihalda tengil.
-
Athugasemd: Athugasemd fyrir nafnið, ef einhver er.
VBA kóðann
Til að nota þennan kóða, ýttu á Alt+F11 til að virkja Visual Basic Editor. Veldu síðan Insert → Module til að setja inn nýja VBA einingu. Afritaðu kóðann og límdu hann inn í nýju eininguna.
Sub GenerateNameReport()
' Býr til skýrslu fyrir öll nöfn í vinnubókinni
' (Innheldur ekki töflunöfn)
Dim n As Name
Dim Row As Long
Dimma CellCount sem afbrigði
' Hætta ef engin nöfn
Ef ActiveWorkbook.Names.Count = 0 Þá
MsgBox "Virka vinnubókin hefur engin skilgreind nöfn."
Hætta undir
End If
' Hætta ef vinnubók er varin
Ef ActiveWorkbook.ProtectStructure Þá
MsgBox "Ekki er hægt að bæta við nýju blaði vegna þess að vinnubókin er vernduð."
Hætta undir
End If
' Settu inn nýtt blað fyrir skýrsluna
ActiveWorkbook.Worksheets.Add
ActiveSheet.Move After:=Sheets(ActiveWorkbook.Sheets.Count)
ActiveWindow.DisplayGridlines = False
' Bættu við fyrstu línu titils
Range(“A1:H1”). Sameina
Með svið („A1“)
.Value = “Nafnaskýrsla fyrir: “ & ActiveWorkbook.Name
Leturstærð = 14
.Font.Bold = True
.HorizontalAlignment = xlCenter
Enda með
' Bættu við annarri titillínu
Range ("A2:H2"). Sameina
Með svið („A2“)
.Value = „Búið til“ & Nú
.HorizontalAlignment = xlCenter
Enda með
' Bættu við hausunum
Range(“A4:H4”) = Array(„Nafn“, „Vísir til“, „frumur“, _
„Umfang“, „Falið“, „Villa“, „Tengill“, „Athugasemd“)
' Farðu í gegnum nöfnin
Röð = 4
Á Villa Resume Next
Fyrir hvert n Í ActiveWorkbook.Names
Röð = Röð + 1
'Dálkur A: Nafn
Ef n.Name Eins og “*!*” Þá
Cells(Row, 1) = Split(n.Name, “!”)(1) ' Fjarlægja nafn blaðs
Annar
Cells(Row, 1) = n.Name
End If
'Dálkur B: Vísar til
Cells(Row, 2) = “'“ & n.RefersTo
'Dálkur C: Fjöldi frumna
CellCount = CVErr(xlErrNA) ' Skila gildi fyrir nafngreinda formúlu
CellCount = n.RefersToRange.CountLarge
Cells(Row, 3) = CellCount
' Dálkur: Umfang
Ef n.Name Eins og “*!*” Þá
Cells(Row, 4) = Split(n.Name, “!”)(0) ' nafn útdráttarblaðs
Cells(Row, 4) = Replace(Cells(Row, 4), “'“, ““) 'fjarlægja fráhvarf
Annar
Cells(Row, 4) = „Vinnubók“
End If
'Dálkur E: Falin staða
Cells(Row, 5) = Ekki n.Synlegt
'Dálkur F: Rangt nafn
Cells(Row, 6) = n.RefersTo Like “*[#]REF!*”
'Dálkur G: Hlekkur
Ef ekki umsókn.IsNA(Frumur(Röð, 3)) Þá
ActiveSheet.Hyperlinks.Add _
Akkeri:=Frumur(röð, 7), _
Heimilisfang:=““, _
Undirfang:=n.Nafn, _
TextToDisplay:=n.Name
End If
'Dálkur H: Athugasemd
Cells(Row, 8) = n.Comment
Næsta n
' Umbreyttu því í töflu
ActiveSheet.ListObjects.Add _
SourceType:=xlSrcRange, _
Heimild:=Range(“A4”). Núverandi svæði
' Stilltu dálkabreiddina
Dálkar(„A:H“). Allur dálkur.Sjálfvirk
End Sub
Búa til skýrslu
Framkvæma ferlinu GenerateNameReport og skýrslan er búin til á nýju vinnublaði í virku vinnubókinni. Kóðinn þarf ekki að vera í vinnubókinni sem inniheldur nöfn skýrslunnar.
Ef þér finnst þessi kóða gagnlegur gætirðu viljað geyma hann í Persónulegu fjölvi vinnubókinni þinni eða búa til viðbót.