Formater data med tilpassede talformater ved hjælp af VBA i Microsoft Excel

Indholdsfortegnelse

I denne artikel vil vi oprette en makro til at formatere de givne data i det ønskede brugerdefinerede talformat ved hjælp af VBA.

Rådata for dette eksempel består af salgsteamdata. Rådata indeholder navn, produkt -id, produktpris, solgt mængde og samlet salg.

Inden man kører makroen, skal man angive det tilpassede talformat i kolonne P og kolonnenummer, hvor man vil anvende det tilpassede talformat i kolonnen Q.

Klik på knappen "Format" for at køre makroen "Formatering".

Makro ændrer formateringen af ​​de givne data i henhold til det angivne tilpassede talformat.

Logisk forklaring

Denne makro vælger nummerformateringen fra kolonnen P og tildeler nummerformateringen kolonner, der er angivet med kolonnetal i kolonnen Q.

I denne makro har vi brugt to DO UNTIL Loops til looping. Først GØR TIL Loop bruges til at sløjfe, indtil alle talformaterne anvendes på kolonner. Den anden DO UNTIL Loop bruges til at finde alle de forskellige kolonnenumre, der er angivet og adskilt med kommaer (,).

Kode forklaring

strCol = Venstre (txt, InStr (txt, ",") - 1)

Ovenstående kode bruges til at adskille kolonnenummeret fra strengen, der indeholder alle kolonnetallene adskilt af kommaer (,).

Kolonner (CInt (strCol)). NumberFormat = wks.Cells (intRow, 16) .Værdi

Ovenstående kode bruges til at anvende det tilpassede talformat på den angivne kolonne.

txt = Right (txt, Len (txt) - InStr (txt, ","))

Ovenstående kode bruges til at adskille den venstre venstre streng efter fjernelsen af ​​kolonnetallet fra den definerede streng.

Følg venligst nedenstående for koden

Mulighed Eksplicit underformatering () 'Deklarationsvariabler Dim wks Som regneark Dim intRow As Long Dim strCol As String Dim txt As String' Initialisering af variablerne Set wks = regneark ("Format") intRow = 4 'Looping i 16. kolonne, indtil tom værdi er fundet Do Till IsEmpty (wks.Cells (intRow, 16)) 'Tildeling af værdien af ​​brugerdefineret talformat txt = wks.Cells (intRow, 17)' Looping og find alt kolonnenummer adskilt med komma (,) Gør indtil InStr ( txt, ",") = 0 'Henter kolonnenummeret strCol = Venstre (txt, InStr (txt, ",") - 1)' Tildeling af talformatet Kolonner (CInt (strCol)). NumberFormat = wks.Cells (intRow , 16) .Værdi 'Afkortning af strengen for at finde det næste kolonnenummer efter kommaet (,) txt = Right (txt, Len (txt) - InStr (txt, ",")) Loop' Tildeling af talformatet Kolonner (CInt (txt)). NumberFormat = wks.Cells (intRow, 16) .Value intRow = intRow + 1 Loop End Sub

Hvis du kunne lide denne blog, kan du dele den med dine venner på Facebook. Du kan også følge os på Twitter og Facebook.

Vi vil meget gerne høre fra dig, lad os vide, hvordan vi kan forbedre vores arbejde og gøre det bedre for dig. Skriv til os på e -mail -stedet

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave