Sådan formaterer du tal med VBA i Excel (3 metoder)

  • Del Dette
Hugh West

Gennemførelse af VBA-makro er den mest effektive, hurtigste og sikreste metode til at udføre enhver operation i Excel. I denne artikel vil vi vise dig, hvordan du kan formatere nummeret i Excel ved hjælp af VBA .

Download arbejdsbog

Du kan downloade den gratis Excel-arbejdsbog til øvelser her.

Formater tal med VBA.xlsm

3 metoder til at formatere tal i Excel med VBA

Se på følgende eksempel: Vi har gemt de samme tal i begge Kolonne B og C således at når vi formaterer tallet i Kolonne C , vil du vide fra den B-kolonne i hvilket format nummeret var før.

1. VBA til at formatere tal fra en type til en anden i Excel

Først skal vi vide, hvordan man formatere nummeret 12345 fra Celle C5 i vores givne datasæt med VBA til Valuta format.

Trin:

  • Tryk på Alt + F11 på dit tastatur eller gå til fanen Udvikler -> Visual Basic for at åbne Visual Basic-editor .

  • I pop-up kodevinduet skal du på menulinjen klikke på Indsæt -> Modul .

  • Kopier følgende kode, og indsæt den i kodevinduet.
 Sub NumberFormat() Range("C5").NumberFormat = "#,###0.0" 'Dette vil formatere tallet 12345 til en valuta End Sub 

Din kode er nu klar til at køre.

  • Tryk på F5 på dit tastatur eller på menulinjen vælge Kør -> Kør Sub/UserForm Du kan også bare klikke på lille Play-ikon i undermenulinjen for at køre makroen.

Denne kode vil formatere tallet 12345 til en valuta med en decimalværdi.

Hvis du vil vise valutasymbolet i cellen, skal du blot sætte symbolet ind før koden.

 Sub NumberFormat() Range("C6").NumberFormat = "$#,###0.0" 'Dette vil formatere tallet 12345 til valuta med $-symbolet End Sub 

I vores tilfælde har vi brugt dollar ($) Du kan bruge et hvilket som helst valutasymbol, som du ønsker.

Denne kode formaterer tallet til valuta med en dollar ($) symbol.

Du kan også konvertere dette talformat til mange andre formater. Følg koden nedenfor for at omdanne tallet til det format, du har brug for.

 Sub NumberFormat() 'Oprindeligt nummer 12345 Range("C5").NumberFormat = "#,##0.0" 'Dette vil formatere tallet til en valuta Range("C6").NumberFormat = "$#,##0.0" 'Dette vil formatere tallet til en valuta med $-symbol Range("C7").NumberFormat = "0.00%" 'Dette vil formatere tallet til en procentværdi Range("C8").NumberFormat = "#,##.00;[red]-#,##.00" 'Dettevil formatere tallet i rød farve (betinget formatering) Range("C9").NumberFormat = "#?/??" 'Dette vil formatere tallet i brøker Range("C10").NumberFormat = "0#""" Kg""" 'Dette vil formatere tallet med tekst Range("C11").NumberFormat = "#-#-#-#-#-#-#-#" 'Dette vil formatere tallet med separatorer Range("C12").NumberFormat = "#,###0.00" 'Dette vil formatere tallettal med kommaer og decimaler, hvis det er relevant Range("C13").NumberFormat = "#,##0" 'Dette vil formatere tallet til tusinder med kommaer, hvis det er relevant Range("C14").NumberFormat = "#,###0.00" 'Dette vil formatere tallet til millioner Range("C15").NumberFormat = "dd-mmm-yyyy hh:mm AM/PM" 'Dette vil formatere tallet til dato & tid End Sub 

VBA-makro

Oversigt

Læs mere: Excel brugerdefineret talformat Flere betingelser

2. Makro til at formatere en række tal i Excel

Vi har set, hvordan du ændrer talformatet for en enkelt celle. Men hvis du vil ændre formatet for en række tal så er den VBA koderne er stort set de samme som vist i ovenstående afsnit. Denne gang skal du i stedet for at sende et enkelt cellereferencenummer inden for parenteserne i Range-objektet, skal du passere hele området (som denne C5:C8) inden for parenteserne.

 Sub NumberFormatRng() Range("C5:C8").NumberFormat = "$#,###0.0" End Sub 

Denne kode formaterer et bestemt talområde fra dit datasæt i Excel.

Læs mere: Sådan formaterer du tal til millioner i Excel (6 måder)

Lignende læsninger:

  • Excel afrunder til 2 decimaler (med lommeregner)
  • Sådan gør du Sæt parenteser for negative tal i Excel
  • Sådan formateres et tal i tusindvis K og millioner M i Excel (4 måder)
  • Brugerdefineret talformat: Millioner med én decimal i Excel (6 måder)
  • Sådan ændres nummerformatet fra komma til punkt i Excel (5 måder)

3. Embed VBA til at konvertere tal med formatfunktion i Excel

Du kan også bruge Formatfunktion i Excel VBA til at konvertere tallene. Makroen til at gøre det er,

Trin:

  • På samme måde som før, åbne Visual Basic-editor fra den Udvikler og Indsæt a Modul i kodevinduet.
  • Kopier følgende kode i kodevinduet, og indsæt den.
 Sub NumberFormatFunc() MsgBox Format(12345, "#,####0.00") End Sub 

Din kode er nu klar til at køre.

Du får det formaterede nummer i beskedfeltet.

Relateret indhold: Sådan konverteres tal til procentdel i Excel (3 hurtige måder)

Konklusion

Denne artikel viste dig, hvordan du kan formatere nummeret i Excel med VBA Jeg håber, at denne artikel har været til stor gavn for dig. Du er velkommen til at spørge, hvis du har spørgsmål til emnet.

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.