Använda VBA för att skapa en kalkylbladskarta

Har du någonsin försökt förstå en obekant (och komplicerad) Excel-arbetsbok? Det skulle vara bra att se en karta som ger en översikt över vilka celler som innehåller konstanter och vilka celler som innehåller värden.

Du kan skapa ett VBA-verktyg som genererar en karta över det aktiva kalkylbladet. Kartan genereras på ett nytt kalkylblad och den består av färgkodade celler som låter dig snabbt identifiera värden, text och formler.

Nedan ser du ett exempel på en sådan karta. Celler som innehåller text är gröna, de som innehåller ett numeriskt värde är gula och celler som innehåller formler är röda. En sådan karta kan hjälpa dig att upptäcka potentiella fel. Till exempel, om en formel i ett formelblock har skrivits över av ett värde, kommer den cellen att sticka ut i kartvyn (som i cell Q11 i exemplet).

Använda VBA för att skapa en kalkylbladskarta

QuickMap VBA-koden

VBA-proceduren som genererar kalkylbladskartan listas nedan. Om du vill använda det här verktyget, kopiera bara koden och klistra in den i en VBA-modul. Aktivera sedan ett kalkylblad och kör QuickMap-subrutinen.

Sub QuickMap()
  Dim FormulaCells Som Variant
  Dim TextCells som variant
  Dim antal celler som variant
  Dim område som räckvidd
  Om TypeName(ActiveSheet) <> "Worksheet" Avsluta Sub
' Skapa objektvariabler för cellundermängder
  Vid fel Resume Next
  Ange FormulaCells = Range(“A1”).SpecialCells _
   (xlFormulas, xlNumbers + xlTextValues ​​+ xlLogical)
  Ställ in TextCells = Range(“A1”).SpecialCells(xlConstants, xlTextValues)
  Ange NumberCells = Range(“A1”).SpecialCells(xlConstants, xlNumbers)
  Vid fel GoTo 0
' Lägg till ett nytt ark och formatera det
  Ark.Lägg till
  Med celler
    .ColumnWidth = 2
    .Teckensnittsstorlek = 8
    .HorizontalAlignment = xlCenter
  Sluta med
  Application.ScreenUpdating = Falskt
' Gör formelcellerna
  Om inte är tomt (formelceller) då
    För varje område i FormulaCells.Areas
      Med ActiveSheet.Range(Area.Address)
        .Value = "F"
        .Interior.ColorIndex = 3
      Sluta med
    Nästa område
  Avsluta om
' Gör textcellerna
  Om inte är tomt (textceller) då
    För varje område i TextCells.Areas
      Med ActiveSheet.Range(Area.Address)
        .Value = "T"
        .Interior.ColorIndex = 4
      Sluta med
    Nästa område
  Avsluta om
' Gör de numeriska cellerna
  Om inte är tomt (nummerceller) då
    För varje område i NumberCells.Areas
      Med ActiveSheet.Range(Area.Address)
        .Value = "N"
        .Interior.ColorIndex = 6
      Sluta med
    Nästa område
  Avsluta om
Avsluta Sub

Hur det fungerar

Proceduren kontrollerar först att det aktiva bladet är ett kalkylblad. Om det inte är det, finns det en snabb utgång utan ytterligare åtgärd. När det aktiva bladet är ett kalkylblad, skapar proceduren tre objektvariabler genom att använda SpecialCells-metoden för att identifiera de olika celltyperna. SpecialCells-metoden är mycket användbar. Om du inte är bekant med det, kolla in det i Excels onlinehjälpfil. Lägg märke till användningen av On Error Resume Next. Detta för att undvika felet som uppstår om inga celler uppfyller kraven - till exempel om kalkylbladet inte har några formler.

Därefter lägger proceduren till ett nytt kalkylblad, minskar cellbredden och ställer in den horisontella justeringen till mitten. Detta steg är kosmetiskt. Suben stänger sedan av skärmuppdateringen för att påskynda saker och ting lite.

De nästa tre blocken av kod bearbetar cellerna. Om inga celler kvalificerar sig är objektvariabeln Empty, så underdelen testar för detta. Sedan går rutinen genom varje område i Range-objektet och formaterar cellen. Du kan enkelt anpassa den här delen av subrutinen för att tillämpa olika formatering.

Kolla in Power Utility Pak-tillägget för en mycket mer sofistikerad version av det här verktyget.

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: […]