Nyttige områdeobjektegenskaber til Excel VBA, som alle bør kende

Et Range-objekt har snesevis af egenskaber. Du kan skrive VBA-programmer nonstop i de næste 12 måneder og aldrig bruge dem alle. Her får du et kort overblik over nogle af de mest brugte Excel VBA Range-egenskaber. For fuldstændige detaljer, se hjælpesystemet i VBE. (Tjek disse yderligere ressourcer for at få hjælp til Excel VBA .)

Nogle Excel VBA Range-egenskaber er skrivebeskyttede egenskaber, hvilket betyder, at din kode kan se på deres værdier, men ikke kan ændre dem ("Se, men rør ikke ved"). For eksempel har hvert Excel VBA Range-objekt en Address-egenskab, som indeholder områdets adresse. Du kan få adgang til denne skrivebeskyttede ejendom, men du kan ikke ændre den - hvilket giver god mening, når du tænker over det.

I øvrigt er de følgende eksempler typisk udsagn frem for komplette procedurer. Hvis du gerne vil prøve nogen af ​​disse (og du bør), skal du oprette en underprocedure for at gøre det. Desuden fungerer mange af disse VBA-sætninger kun korrekt, hvis et regneark er det aktive ark.

Excel VBA: Værdi-egenskaben

Egenskaben Værdi repræsenterer værdien i en celle. Det er en læse-skriveegenskab, så din VBA-kode kan enten læse eller ændre værdien.

Følgende sætning viser en meddelelsesboks, der viser værdien i celle A1 på Ark1:

MsgBox Worksheets("Sheet1").Range("A1").Value

Det er naturligt, at du kun kan læse værdiegenskaben for et enkeltcellet Range-objekt. For eksempel genererer følgende sætning en fejl:

MsgBox Worksheets("Sheet1").Range("A1:C3").Værdi

Du kan dog ændre egenskaben Værdi for en række af enhver størrelse. Følgende sætning indtaster tallet 123 i hver celle i et område:

Arbejdsark("Ark1").Range("A1:C3").Værdi = 123

Værdi er standardegenskaben for et Excel VBA Range-objekt. Med andre ord, hvis du udelader en egenskab for et område, bruger Excel dens værdiegenskab. Følgende udsagn indtaster begge en værdi på 75 i celle A1 i det aktive regneark:

Range("A1").Værdi = 75
Område("A1") = 75

Excel VBA: Tekstegenskaben

Egenskaben Tekst returnerer en streng, der repræsenterer teksten, som den vises i en celle - den formaterede værdi. Egenskaben Tekst er skrivebeskyttet. Antag, at celle A1 indeholder værdien 12,3 og er formateret til at vise to decimaler og et dollartegn ($12,30). Følgende erklæring viser en meddelelsesboks, der indeholder $12,30:

MsgBox Worksheets("Sheet1").Range("A1").Tekst

Men det næste udsagn viser en beskedboks, der indeholder 12.3:

MsgBox Worksheets("Sheet1").Range("A1").Value

Hvis cellen indeholder en formel, returnerer egenskaben Tekst resultatet af formlen. Hvis en celle indeholder tekst, returnerer egenskaben Tekst og egenskaben Værdi altid det samme, fordi tekst (i modsætning til et tal) ikke kan formateres til at blive vist anderledes.

Excel VBA: Egenskaben Count

Egenskaben Count returnerer antallet af celler i et område. Det tæller alle celler, ikke kun de ikke-blanke celler. Count er en skrivebeskyttet ejendom, præcis som du ville forvente. Følgende sætning får adgang til et områdes Count-egenskab og viser resultatet (9) i en meddelelsesboks:

MsgBox Range("A1:C3"). Tæll

Excel VBA: Egenskaberne for kolonne og række

Egenskaben Kolonne returnerer kolonnenummeret for et enkeltcelleområde. Dens sidemand, Row-egenskaben, returnerer rækkenummeret for et enkeltcelleområde. Begge er skrivebeskyttede egenskaber. For eksempel viser følgende sætning 6, fordi celle F3 er i den sjette kolonne:

MsgBox Sheets("Sheet1").Range("F3").Kolonne

Det næste udtryk viser 3, fordi celle F3 er i tredje række:

MsgBox Sheets("Sheet1").Range("F3").Række

Hvis Excel VBA Range-objektet består af mere end én celle, returnerer egenskaben Column kolonnenummeret for den første kolonne i området, og egenskaben Row returnerer rækkenummeret for den første række i området.

Forveksle ikke egenskaberne Kolonne og Række med egenskaberne Kolonner og Rækker. Egenskaberne Kolonne og Række returnerer en enkelt værdi. Egenskaberne Columns og Rows returnerer derimod et Range-objekt. Hvilken forskel et "s" gør.

Excel VBA: Adresseegenskaben

Adresse, en skrivebeskyttet egenskab, viser celleadressen for et Range-objekt som en absolut reference (et dollartegn før kolonnebogstavet og før rækkenummeret). Følgende erklæring viser meddelelsesboksen vist nedenfor:

MsgBox Range(Cells(1, 1), Cells(5, 5)). Adresse

Nyttige områdeobjektegenskaber til Excel VBA, som alle bør kende

Denne meddelelsesboks viser egenskaben Adresse for et 5-til-5-interval.

Excel VBA: Egenskaben HasFormula

Egenskaben HasFormula (som er skrivebeskyttet) returnerer True, hvis enkeltcelleområdet indeholder en formel. Det returnerer False, hvis cellen indeholder noget andet end en formel (eller er tom). Hvis området består af mere end én celle, returnerer VBA kun Sand, hvis alle celler i området indeholder en formel, eller Falsk, hvis alle celler i området ikke har en formel. Egenskaben returnerer Null, hvis området indeholder en blanding af formler og ikke-formler. Null er en slags ingenmandsland: Svaret er hverken Sandt eller Falsk, og enhver celle i intervallet kan have en formel eller ikke.

Du skal være forsigtig, når du arbejder med egenskaber, der kan returnere Null. Mere specifikt er den eneste datatype, der kan håndtere Null, Variant.

Antag for eksempel, at celle A1 indeholder en værdi, og celle A2 indeholder en formel. Følgende udsagn genererer en fejl, fordi området ikke består af alle formler eller alle ikke-formler:

Dim FormulaTest Som Boolean
FormelTest = Range("A1:A2").HarFormel

Den boolske datatype kan kun håndtere True eller False. Null får Excel til at klage og vise en fejlmeddelelse. For at løse denne type situation er den bedste ting at gøre at sørge for, at FormulaTest-variablen er erklæret som en Variant i stedet for som en Boolean. Følgende eksempel bruger VBA's praktiske TypeName-funktion (sammen med en If-Then-Else-konstruktion) til at bestemme datatypen for FormulaTest-variablen. Hvis området har en blanding af formler og ikke-formler, viser meddelelsesboksen Blandet! Ellers viser den True eller False .

Sub CheckForFormulas()
  Dim FormulaTest som variant
  FormelTest = Range("A1:A2").HarFormel
  Hvis TypeName(FormulaTest) = "Null" Så
    MsgBox "Blandet!"
  Andet
    MsgBox FormulaTest
  Afslut Hvis
Slut Sub

Excel VBA: Font-egenskaben

En egenskab kan returnere et objekt. Font-egenskaben for et Excel VBA Range-objekt er et andet eksempel på det koncept, der fungerer. Font-egenskaben returnerer et Font-objekt.

Et Font-objekt har, som du måske forventer, mange tilgængelige egenskaber. For at ændre nogle aspekter af et områdes skrifttype skal du først få adgang til områdets Font-objekt og derefter manipulere egenskaberne for det pågældende objekt. Dette kan være forvirrende, men måske vil dette eksempel hjælpe.

Følgende sætning bruger Font-egenskaben for Range-objektet til at returnere et Font-objekt. Derefter sættes egenskaben Bold for Font-objektet til True. På almindeligt engelsk får denne erklæring cellen til at vises med fed skrift:

Range("A1"). Font.Fed = Sand

Sandheden er, at du ikke rigtig behøver at vide, at du arbejder med et særligt Font-objekt, der er indeholdt i et Excel VBA Range-objekt. Så længe du bruger den rigtige syntaks, fungerer det fint. Ofte fortæller optagelse af dine handlinger med makrooptageren dig alt, hvad du behøver at vide om den korrekte syntaks.

Excel VBA: Den indre ejendom

Her er endnu et eksempel på en egenskab, der returnerer et objekt. Et Range-objekts Interior-egenskab returnerer et Interior-objekt (mærkeligt navn, men det er det, det hedder). Denne type objekthenvisning fungerer på samme måde som Font-egenskaben.

Følgende sætning ændrer f.eks. egenskaben Color for Interiør-objektet, der er indeholdt i Range-objektet:

Range("A1"). Interiør.Farve = 8421504

Med andre ord ændrer denne erklæring cellens baggrund til mellemgrå. Hvad er det? Du vidste ikke, at 8421504 er mellemgrå? For lidt indsigt i Excels vidunderlige farveverden, se den nærliggende sidebjælke "En hurtig og beskidt farvegrunder."

Excel VBA: Formel-egenskaben

Formelegenskaben repræsenterer formlen i en celle. Dette er en læse-skriveegenskab, så du kan få adgang til den for enten at se formlen i en celle eller indsætte en formel i en celle. For eksempel indtaster følgende sætning en SUM-formel i celle A13:

Range("A13"). Formel = "=SUM(A1:A12)"

Bemærk, at formlen er en tekststreng og er omgivet af anførselstegn. Bemærk også, at formlen begynder med et lighedstegn, som alle formler gør.

Hvis selve formlen indeholder anførselstegn, bliver tingene lidt vanskelige. Sig, at du vil indsætte denne formel ved at bruge VBA:

=SUM(A1:A12)&" Butikker"

Denne formel viser en værdi efterfulgt af ordet Stores . For at gøre denne formel acceptabel, skal du erstatte hvert anførselstegn i formlen med to anførselstegn. Ellers bliver VBA forvirret og hævder, at der er en syntaksfejl (fordi der er!). Så her er et udsagn, der indtaster en formel, der indeholder anførselstegn:

Range("A13").Formel = "=SUM(A1:A12)&"" Gemmer"""

Du kan i øvrigt få adgang til en celles Formel-egenskab, selvom cellen ikke har en formel. Hvis en celle ikke har nogen formel, returnerer Formel-egenskaben det samme som dens Værdi-egenskab.

Hvis du har brug for at vide, om en celle har en formel, skal du bruge egenskaben HasFormula.

Vær opmærksom på, at VBA "taler" amerikansk engelsk. Det betyder, at for at sætte en formel i en celle, skal du bruge den amerikanske syntaks. Hvis du bruger en ikke-engelsk version af Excel, skal du læse op på FormulaLocal-egenskaben i hjælpesystemet.

Excel VBA: Egenskaben NumberFormat

Egenskaben NumberFormat repræsenterer talformatet (udtrykt som en tekststreng) for Range-objektet. Dette er en læse-skriveegenskab, så din VBA-kode kan enten undersøge talformatet eller ændre det. Følgende udsagn ændrer talformatet for kolonne A til en procentdel med to decimaler:

Columns("A:A").NumberFormat = "0,00%"

Følg disse trin for at se en liste over andre talformater (bedre endnu, tænd for makrooptageren, mens du gør dette):

Aktiver et regneark.

Tryk på Ctrl+1 for at få adgang til dialogboksen Formater celler.

Klik på fanen Nummer.

Vælg kategorien Brugerdefineret for at se og anvende nogle yderligere talformatstrenge.


Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows

Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows

Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows Microsoft Word åbner filer i skrivebeskyttet tilstand, hvilket gør det umuligt at redigere det? Bare rolig, metoderne er nedenfor

Sådan rettes forkert udskrivning af Microsoft Word-dokumenter

Sådan rettes forkert udskrivning af Microsoft Word-dokumenter

Sådan rettes fejl ved udskrivning af forkerte Microsoft Word-dokumenter Fejl ved udskrivning af Word-dokumenter med ændrede skrifttyper, rodede afsnit, manglende tekst eller tabt indhold er ret almindelige. Men lad være

Slet pen- og highlighter-tegninger på dine PowerPoint-dias

Slet pen- og highlighter-tegninger på dine PowerPoint-dias

Hvis du har brugt pennen eller highlighteren til at tegne på dine PowerPoint-dias under en præsentation, kan du gemme tegningerne til næste præsentation eller slette dem, så næste gang du viser den, starter du med rene PowerPoint-dias. Følg disse instruktioner for at slette pen- og highlighter-tegninger: Sletning af linjer en ved […]

Indhold af stilbibliotek i SharePoint 2010

Indhold af stilbibliotek i SharePoint 2010

Style-biblioteket indeholder CSS-filer, Extensible Stylesheet Language-filer (XSL) og billeder, der bruges af foruddefinerede mastersider, sidelayouts og kontrolelementer i SharePoint 2010. For at finde CSS-filer i Style-biblioteket på et udgivelsessted: Vælg Site Actions→ View Alt webstedsindhold. Indholdet af webstedet vises. Style-biblioteket ligger i […]

Formater tal i tusinder og millioner i Excel-rapporter

Formater tal i tusinder og millioner i Excel-rapporter

Overvæld ikke dit publikum med gigantiske tal. I Microsoft Excel kan du forbedre læsbarheden af ​​dine dashboards og rapporter ved at formatere dine tal, så de vises i tusinder eller millioner.

Sådan deler og følger du SharePoint-websteder

Sådan deler og følger du SharePoint-websteder

Lær, hvordan du bruger SharePoints sociale netværksværktøjer, der lader enkeltpersoner og grupper kommunikere, samarbejde, dele og forbinde.

Sådan konverteres datoer til julianske formater i Excel

Sådan konverteres datoer til julianske formater i Excel

Julianske datoer bruges ofte i produktionsmiljøer som et tidsstempel og hurtig reference for et batchnummer. Denne type datokodning giver detailhandlere, forbrugere og serviceagenter mulighed for at identificere, hvornår et produkt blev fremstillet, og dermed produktets alder. Julianske datoer bruges også i programmering, militæret og astronomi. Forskellige […]

Sådan opretter du en Access Web App

Sådan opretter du en Access Web App

Du kan oprette en webapp i Access 2016. Så hvad er en webapp overhovedet? Nå, web betyder, at det er online, og app er kun en forkortelse for "applikation". En Custom Web App er en online databaseapplikation, der tilgås fra skyen ved hjælp af en browser. Du bygger og vedligeholder webappen i desktopversionen […]

Hurtig startlinje i SharePoint 2010

Hurtig startlinje i SharePoint 2010

De fleste sider i SharePoint 2010 viser en liste over navigationslinks på linjen Hurtig start langs venstre side af siden. Hurtig startlinjen viser links til fremhævet webstedsindhold såsom lister, biblioteker, websteder og udgivelsessider. Hurtigstartlinjen indeholder to meget vigtige links: Linket Alt webstedsindhold: […]

Hvad betyder Solver-fejlmeddelelserne i Excel?

Hvad betyder Solver-fejlmeddelelserne i Excel?

Ved simple problemer finder Solver i Excel som regel hurtigt de optimale Solver-variableværdier for objektivfunktionen. Men i nogle tilfælde har Solver problemer med at finde de Solver-variableværdier, der optimerer objektivfunktionen. I disse tilfælde viser Solver typisk en meddelelse eller en fejlmeddelelse, der beskriver eller diskuterer det problem, der […]