Gegevens opmaken met aangepaste getalnotaties met VBA in Microsoft Excel

Inhoudsopgave

In dit artikel zullen we een macro maken om de gegeven gegevens op te maken in de gewenste aangepaste getalnotatie met behulp van VBA.

Ruwe gegevens voor dit voorbeeld bestaan ​​uit verkoopteamgegevens. Ruwe gegevens bevatten naam, product-ID, productprijs, verkochte hoeveelheid en totale verkoop.

Alvorens de macro uit te voeren, moet men de aangepaste getalnotatie in kolom P specificeren en kolomnummer waarin men de aangepaste getalnotatie wil toepassen in de kolom Q.

Klik op de knop "Formatteren" om de macro "Opmaak" uit te voeren.

Macro verandert de opmaak van de gegeven gegevens volgens de opgegeven aangepaste getalnotatie.

Logische uitleg

Deze macro kiest de getalopmaak uit de kolom P en wijst de getalopmaak toe aan kolommen die zijn gespecificeerd door kolomnummers in de kolom Q.

In deze macro hebben we twee DO UNTIL Loops gebruikt voor looping. First DO UNTIL Loop wordt gebruikt om te herhalen totdat alle getalnotaties op kolommen zijn toegepast. De tweede DO UNTIL Loop wordt gebruikt om alle verschillende kolomnummers te vinden die zijn gespecificeerd en gescheiden door komma's (,).

Code uitleg

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

Bovenstaande code wordt gebruikt om het kolomnummer te scheiden van de tekenreeks die alle kolomnummers bevat, gescheiden door komma's (,).

Columns(CInt(strCol)).NumberFormat = wks.Cells(intRow, 16).Waarde

Bovenstaande code wordt gebruikt om de aangepaste getalnotatie toe te passen op de opgegeven kolom.

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

Bovenstaande code wordt gebruikt om de weggelaten string te scheiden na het verwijderen van het kolomnummer uit de gedefinieerde string.

Volg hieronder voor de code:

Optie Explicit Sub Formatting() 'Variabelen declareren Dim wks As Worksheet Dim intRow As Long Dim strCol As String Dim txt As String 'Initialiseren van de variabelen Set wks = Worksheets("Format") intRow = 4 'Looping in 16e kolom tot lege waarde is gevonden Do Until IsEmpty(wks.Cells(intRow, 16)) 'Toewijzen van de waarde van aangepaste getalnotatie txt = wks.Cells(intRow, 17) 'Looping en het vinden van alle kolomnummers gescheiden door komma(,) Do Until InStr( txt, ",") = 0 'Het kolomnummer ophalen strCol = Left(txt, InStr(txt, ",") - 1) 'Toewijzen van het getalformaat Columns(CInt(strCol)).NumberFormat = wks.Cells(intRow , 16). Waarde 'Truncating van de string voor het vinden van het volgende kolomnummer na de komma(,) txt = Right(txt, Len(txt) - InStr(txt, ",")) Loop 'Toewijzen van het getalformaat Columns(CInt (txt)).NumberFormat = wks.Cells(intRow, 16).Value intRow = intRow + 1 Loop End Sub

Als je deze blog leuk vond, deel hem dan met je vrienden op Facebook. Ook kunt u ons volgen op Twitter en Facebook.

We horen graag van u, laat ons weten hoe we ons werk kunnen verbeteren en voor u kunnen verbeteren. Schrijf ons op de e-mailsite

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave