Bruke VBA til å lage et arbeidsarkkart

Har du noen gang prøvd å forstå en ukjent (og komplisert) Excel-arbeidsbok? Det ville være nyttig å se et kart som gir en oversikt over hvilke celler som inneholder konstanter og hvilke celler som inneholder verdier.

Du kan opprette et VBA-verktøy som genererer et kart over det aktive regnearket. Kartet er generert på et nytt regneark, og det består av fargekodede celler som lar deg raskt identifisere verdier, tekst og formler.

Nedenfor ser du et eksempel på et slikt kart. Celler som inneholder tekst er grønne, de som inneholder en numerisk verdi er gule, og celler som inneholder formler er røde. Et slikt kart kan hjelpe deg med å oppdage potensielle feil. For eksempel, hvis én formel i en blokk med formler har blitt overskrevet av en verdi, vil den cellen skille seg ut i kartvisningen (som i celle Q11 i eksemplet).

Bruke VBA til å lage et arbeidsarkkart

QuickMap VBA-koden

VBA-prosedyren som genererer arbeidsarkkartet er oppført nedenfor. Hvis du vil bruke dette verktøyet, kopierer du bare koden og limer den inn i en VBA-modul. Aktiver deretter et regneark og utfør QuickMap-subrutinen.

Sub QuickMap()
  Dim FormulaCells som variant
  Dim tekstceller som variant
  Dim NumberCells som variant
  Dim område som rekkevidde
  Hvis TypeName(ActiveSheet) <> "Worksheet" Avslutt Sub
' Lag objektvariabler for celleundersett
  Ved feil på Fortsett neste
  Sett FormulaCells = Range(“A1”).SpecialCells _
   (xlFormulas, xlNumbers + xlText Values ​​+ xlLogical)
  Sett TextCells = Range(“A1”).SpecialCells(xlConstants, xlTextValues)
  Sett NumberCells = Range(“A1”).SpecialCells(xlConstants, xlNumbers)
  Ved feil GoTo 0
' Legg til et nytt ark og formater det
  Ark.Legg til
  Med celler
    .ColumnWidth = 2
    .Skriftstørrelse = 8
    .HorizontalAlignment = xlCenter
  Avslutt med
  Application.ScreenUpdating = False
' Gjør formelcellene
  Hvis ikke er tomme (formelceller) så
    For hvert område i FormulaCells.Areas
      Med ActiveSheet.Range(Area.Address)
        .Value = "F"
        .Interior.ColorIndex = 3
      Avslutt med
    Neste område
  Slutt om
' Gjør tekstcellene
  Hvis ikke er tomme (tekstceller) så
    For hvert område i TextCells.Areas
      Med ActiveSheet.Range(Area.Address)
        .Value = "T"
        .Interior.ColorIndex = 4
      Avslutt med
    Neste område
  Slutt om
' Gjør de numeriske cellene
  Hvis ikke er tomme (tallceller) så
    For hvert område i NumberCells.Areas
      Med ActiveSheet.Range(Area.Address)
        .Value = "N"
        .Interior.ColorIndex = 6
      Avslutt med
    Neste område
  Slutt om
End Sub

Hvordan det fungerer

Prosedyren kontrollerer først at det aktive arket er et regneark. Hvis den ikke er det, er det en rask avslutning uten ytterligere handling. Når det aktive arket er et regneark, oppretter prosedyren tre objektvariabler ved å bruke SpecialCells-metoden for å identifisere de ulike celletypene. SpecialCells-metoden er veldig nyttig. Hvis du ikke er kjent med det, sjekk det ut i Excels online hjelpefil. Legg merke til bruken av Ved feil gjenoppta neste. Dette er for å unngå feilen som oppstår hvis ingen celler kvalifiserer - for eksempel hvis regnearket ikke har noen formler.

Deretter legger prosedyren til et nytt regneark, reduserer cellebredden og setter den horisontale justeringen til midten. Dette trinnet er kosmetisk. Suben slår deretter av skjermoppdatering for å få fart på ting litt.

De neste tre blokkene med kode behandler cellene. Hvis ingen celler kvalifiserer, er objektvariabelen Empty, så underdelen tester for dette. Deretter går rutinen gjennom hvert område i Range-objektet og formaterer cellen. Du kan enkelt tilpasse denne delen av subrutinen for å bruke forskjellig formatering.

Sjekk ut Power Utility Pak-tillegget for en mye mer sofistikert versjon av dette verktøyet.


Hvordan blokkere Microsoft Word fra å åpne filer i skrivebeskyttet modus på Windows

Hvordan blokkere Microsoft Word fra å åpne filer i skrivebeskyttet modus på Windows

Hvordan blokkere Microsoft Word fra å åpne filer i skrivebeskyttet modus på Windows Microsoft Word åpner filer i skrivebeskyttet modus, noe som gjør det umulig å redigere dem? Ikke bekymre deg, metodene er nedenfor

Hvordan fikse feil utskrift av Microsoft Word-dokumenter

Hvordan fikse feil utskrift av Microsoft Word-dokumenter

Slik fikser du feil ved utskrift av feil Microsoft Word-dokumenter Feil ved utskrift av Word-dokumenter med endrede fonter, rotete avsnitt, manglende tekst eller tapt innhold er ganske vanlig. Men ikke gjør det

Slett penn- og highlighter-tegninger på PowerPoint-lysbilder

Slett penn- og highlighter-tegninger på PowerPoint-lysbilder

Hvis du har brukt pennen eller merkepennen til å tegne på PowerPoint-lysbildene dine under en presentasjon, kan du lagre tegningene til neste presentasjon eller slette dem, slik at du neste gang du viser dem starter med rene PowerPoint-lysbilder. Følg disse instruksjonene for å slette penn- og merkepenntegninger: Slette linje én på […]

Style Library-innhold i SharePoint 2010

Style Library-innhold i SharePoint 2010

Stilbiblioteket inneholder CSS-filer, Extensible Stylesheet Language-filer (XSL) og bilder som brukes av forhåndsdefinerte mastersider, sideoppsett og kontroller i SharePoint 2010. For å finne CSS-filer i stilbiblioteket til et publiseringsnettsted: Velg Site Actions→ View Alt innhold på nettstedet. Innholdet på nettstedet vises. Style-biblioteket ligger i […]

Formater tall i tusenvis og millioner i Excel-rapporter

Formater tall i tusenvis og millioner i Excel-rapporter

Ikke overveld publikum med gigantiske tall. I Microsoft Excel kan du forbedre lesbarheten til dashbordene og rapportene dine ved å formatere tallene dine slik at de vises i tusenvis eller millioner.

Hvordan dele og følge SharePoint-nettsteder

Hvordan dele og følge SharePoint-nettsteder

Lær hvordan du bruker SharePoints sosiale nettverksverktøy som lar enkeltpersoner og grupper kommunisere, samarbeide, dele og koble til.

Hvordan konvertere datoer til julianske formater i Excel

Hvordan konvertere datoer til julianske formater i Excel

Julianske datoer brukes ofte i produksjonsmiljøer som et tidsstempel og hurtigreferanse for et batchnummer. Denne typen datokoding lar forhandlere, forbrukere og serviceagenter identifisere når et produkt ble laget, og dermed alderen på produktet. Julianske datoer brukes også i programmering, militæret og astronomi. Forskjellig […]

Hvordan lage en Access Web App

Hvordan lage en Access Web App

Du kan lage en nettapp i Access 2016. Så hva er en nettapp egentlig? Vel, nettet betyr at det er online, og appen er bare en forkortelse for "applikasjon". En Custom Web App er en online databaseapplikasjon som du får tilgang til fra skyen ved hjelp av en nettleser. Du bygger og vedlikeholder nettappen i skrivebordsversjonen […]

Hurtigstartlinje i SharePoint 2010

Hurtigstartlinje i SharePoint 2010

De fleste sidene i SharePoint 2010 viser en liste over navigasjonskoblinger på hurtigstartlinjen langs venstre side av siden. Hurtigstartlinjen viser koblinger til innhold på nettstedet som lister, biblioteker, nettsteder og publiseringssider. Hurtigstartlinjen inneholder to svært viktige lenker: Linken for alt nettstedinnhold: […]

Hva betyr løserfeilmeldingene i Excel?

Hva betyr løserfeilmeldingene i Excel?

For enkle problemer finner Solver i Excel vanligvis raskt de optimale Solver-variabelverdiene for objektivfunksjonen. Men i noen tilfeller har Solver problemer med å finne Solver-variabelverdiene som optimerer objektivfunksjonen. I disse tilfellene viser Solver vanligvis en melding eller en feilmelding som beskriver eller diskuterer problemet som […]