Skapa en namnrapport med VBA-kod

Om du använder många namngivna celler och intervall i din arbetsbok kan du bli förvånad över att upptäcka att Excel inte ger något sätt att lista detaljerna för varje namn. Användbar information visas i dialogrutan Namnhanterare, men det finns inget sätt att visa denna information på ett sätt som kan skrivas ut.

VBA-koden som erbjuds här genererar en användbar rapport som beskriver namnen som definieras i en arbetsbok.

Exempel på namnrapport

Här ser du ett exempel på en namnrapport.

Skapa en namnrapport med VBA-kod

Rapporten, som skapas på ett nytt kalkylblad, innehåller följande information för varje namn:

  • Namn: Namnet.

  • RefersTo: Definitionen för namnet. Vanligtvis kommer detta att vara en cell eller ett område, men ett namn kan också definiera formel.

  • Celler: Antalet celler som finns i det namngivna området. För namngivna formler visar detta fält #N/A.

  • Omfattning: Namnets omfattning — antingen arbetsbok eller namnet på det specifika kalkylblad där namnet är giltigt.

  • Dolt: Sant om namnet är dolt. Dolda namn skapas av vissa tillägg (som Solver) och visas inte i dialogrutan Namnhanterare.

  • Fel: Sant om namnet innehåller en felaktig referens.

  • Länk: En hyperlänk som, när den klickas, aktiverar det namngivna området. Endast namn som refererar till celler eller intervall innehåller en länk.

  • Kommentar: Kommentaren för namnet, om någon.

VBA-koden

För att använda den här koden, tryck på Alt+F11 för att aktivera Visual Basic Editor. Välj sedan Infoga → Modul för att infoga en ny VBA-modul. Kopiera koden och klistra in den i den nya modulen.

Sub GenerateNameReport()
' Genererar en rapport för alla namn i arbetsboken
' (Inkluderar inte tabellnamn)
  Dim n As Namn
  Dim rad så lång
  Dim CellCount som variant
' Avsluta om inga namn
  Om ActiveWorkbook.Names.Count = 0 Då
    MsgBox "Den aktiva arbetsboken har inga definierade namn."
    Avsluta Sub
  Avsluta om
' Avsluta om arbetsboken är skyddad
  Om ActiveWorkbook.ProtectStructure Då
    MsgBox "Ett nytt ark kan inte läggas till eftersom arbetsboken är skyddad."
    Avsluta Sub
  Avsluta om
' Infoga ett nytt ark för rapporten
  ActiveWorkbook.Worksheets.Add
  ActiveSheet.Move After:=Sheets(ActiveWorkbook.Sheets.Count)
  ActiveWindow.DisplayGridlines = False
' Lägg till första rubrikraden
  Range(“A1:H1”). Sammanfoga
  Med räckvidd(“A1”)
    .Value = "Namnrapport för: " & ActiveWorkbook.Name
    .Teckensnittsstorlek = 14
    .Font.Bold = Sant
    .HorizontalAlignment = xlCenter
  Sluta med
' Lägg till andra rubrikraden
  Range(“A2:H2”). Sammanfoga
  Med räckvidd ("A2")
    .Value = "Genererat" & nu
    .HorizontalAlignment = xlCenter
  Sluta med
' Lägg till rubrikerna
  Range(“A4:H4”) = Array(“Namn”, “RefersTo”, “Celler”, _
    "Omfattning", "Dold", "Fel", "Länk", "Kommentar")
' Gå igenom namnen
  Rad = 4
  Vid fel Resume Next
  För varje n In ActiveWorkbook.Names
    Rad = Rad + 1
    Kolumn A: Namn
    Om n.Name Som "*!*" Då
      Cells(Row, 1) = Split(n.Name, “!”)(1) ' Ta bort arknamn
    Annan
      Cells(Row, 1) = n.Name
    Avsluta om
    'Kolumn B: RefersTo
    Cells(Row, 2) = “'“ & n.RefersTo
    Kolumn C: Antal celler
    CellCount = CVErr(xlErrNA) ' Returnera värde för namngiven formel
    CellCount = n.RefersToRange.CountLarge
    Cells(Row, 3) = CellCount
    ' Kolumn D: Omfattning
    Om n.Name Som "*!*" Då
      Cells(Row, 4) = Split(n.Name, “!”)(0) ' extrahera arknamn
      Cells(Row, 4) = Replace(Cells(Row, 4), “'“, ““) 'ta bort apostrofer
    Annan
      Cells(Row, 4) = "Arbetsbok"
    Avsluta om
    Kolumn E: Dold status
    Cells(Row, 5) = Inte n.Visible
    Kolumn F: Felaktigt namn
    Cells(Row, 6) = n.RefersTo Like "*[#]REF!*"
    Kolumn G: Hyperlänk
    Om inte Application.IsNA(Cells(Row, 3)) Då
      ActiveSheet.Hyperlinks.Add _
        Ankare:=Celler(rad, 7), _
        Adress:=““, _
        Subadress:=n.Namn, _
        TextToDisplay:=n.Name
    Avsluta om
    Kolumn H: Kommentar
    Cells(Row, 8) = n.Comment
  Nästa n
' Konvertera det till en tabell
  ActiveSheet.ListObjects.Add _
    SourceType:=xlSrcRange, _
    Källa:=Räckvidd(“A4”).CurrentRegion
' Justera kolumnbredderna
  Kolumner(“A:H”). Hela kolumnen.Autopass
Avsluta Sub

Skapa en rapport

Utför proceduren GenerateNameReport och rapporten genereras på ett nytt kalkylblad i den aktiva arbetsboken. Koden behöver inte finnas i arbetsboken som innehåller namnen på rapporten.

Om du tycker att den här koden är användbar kanske du vill lagra den i din personliga makroarbetsbok eller skapa ett tillägg.

Leave a Comment

Hur man använder kommandona Gör om och upprepa i Word 2016

Hur man använder kommandona Gör om och upprepa i Word 2016

Lär dig att använda kommandona Gör om och Upprepa i Word 2016 för att effektivt hantera dina dokument. Dessa funktioner hjälper dig att enkelt ångra och återställa ändringar.

Hur man blockerar Microsoft Word från att öppna filer i skrivskyddat läge på Windows

Hur man blockerar Microsoft Word från att öppna filer i skrivskyddat läge på Windows

Hur man blockerar Microsoft Word från att öppna filer i skrivskyddat läge på Windows Microsoft Word öppnar filer i skrivskyddat läge, vilket gör det omöjligt att redigera dem? Oroa dig inte, metoderna finns nedan

Hur man åtgärdar felaktig utskrift av Microsoft Word-dokument

Hur man åtgärdar felaktig utskrift av Microsoft Word-dokument

Så här åtgärdar du fel vid utskrift av felaktiga Microsoft Word-dokument Fel vid utskrift av Word-dokument med ändrade teckensnitt, röriga stycken, saknad text eller förlorat innehåll är ganska vanligt. Men gör det inte

Radera ritningar med penna och överstrykningspenna på dina PowerPoint-bilder

Radera ritningar med penna och överstrykningspenna på dina PowerPoint-bilder

Om du har använt pennan eller överstrykningspennan för att rita på dina PowerPoint-bilder under en presentation, kan du spara ritningarna till nästa presentation eller radera dem så att nästa gång du visar den börjar du med rena PowerPoint-bilder. Följ dessa instruktioner för att radera ritningar med penna och överstrykningspenna: Radera linjer ett på […]

Stilbiblioteksinnehåll i SharePoint 2010

Stilbiblioteksinnehåll i SharePoint 2010

Stilbiblioteket innehåller CSS-filer, XSL-filer (Extensible Stylesheet Language) och bilder som används av fördefinierade mallsidor, sidlayouter och kontroller i SharePoint 2010. För att hitta CSS-filer i stilbiblioteket på en publiceringswebbplats: Välj Webbplatsåtgärder→Visa Allt webbplatsinnehåll. Innehållet på webbplatsen visas. Style-biblioteket ligger i […]

Formatera siffror i tusentals och miljoner i Excel-rapporter

Formatera siffror i tusentals och miljoner i Excel-rapporter

Överväldiga inte din publik med gigantiska siffror. I Microsoft Excel kan du förbättra läsbarheten för dina instrumentpaneler och rapporter genom att formatera dina siffror så att de visas i tusentals eller miljoner.

Hur man delar och följer SharePoint-webbplatser

Hur man delar och följer SharePoint-webbplatser

Lär dig hur du använder SharePoints sociala nätverksverktyg som låter individer och grupper kommunicera, samarbeta, dela och ansluta.

Hur man konverterar datum till Julian-format i Excel

Hur man konverterar datum till Julian-format i Excel

Julianska datum används ofta i tillverkningsmiljöer som en tidsstämpel och snabbreferens för ett batchnummer. Denna typ av datumkodning tillåter återförsäljare, konsumenter och serviceagenter att identifiera när en produkt tillverkades och därmed produktens ålder. Julianska datum används också i programmering, militären och astronomi. Annorlunda […]

Hur man skapar en Access Web App

Hur man skapar en Access Web App

Du kan skapa en webbapp i Access 2016. Så vad är en webbapp egentligen? Tja, webben betyder att den är online, och appen är bara en förkortning för "applikation". En anpassad webbapp är en onlinedatabasapplikation som nås från molnet med en webbläsare. Du bygger och underhåller webbappen i skrivbordsversionen […]

Snabbstartsfält i SharePoint 2010

Snabbstartsfält i SharePoint 2010

De flesta sidor i SharePoint 2010 visar en lista med navigeringslänkar i snabbstartsfältet till vänster på sidan. Snabbstartsfältet visar länkar till utvalt webbplatsinnehåll som listor, bibliotek, webbplatser och publiceringssidor. Snabbstartsfältet innehåller två mycket viktiga länkar: Länken Allt webbplatsinnehåll: […]