Formátujte data pomocí vlastních formátů čísel pomocí VBA v aplikaci Microsoft Excel

Anonim

V tomto článku vytvoříme makro pro formátování daných dat v požadovaném formátu vlastních čísel pomocí VBA.

Nezpracovaná data pro tento příklad se skládají z dat prodejního týmu. Nezpracovaná data obsahují název, ID produktu, cenu produktu, prodané množství a celkové tržby.

Před spuštěním makra je třeba zadat vlastní formát čísla ve sloupci P a čísle sloupce, ve kterém chcete použít vlastní formát čísla ve sloupci Q.

Kliknutím na tlačítko „Formátovat“ spustíte makro „Formátování“.

Makro změní formátování daných dat podle zadaného vlastního formátu čísel.

Logické vysvětlení

Toto makro vybere formátování čísla ze sloupce P a přiřadí formátování čísla sloupcům určeným čísly sloupců ve sloupci Q.

V tomto makru jsme pro smyčku použili dvě DO DO smyčky. První DO DO Smyčky se používá ke smyčce, dokud nejsou na sloupce použity všechny formáty čísel. Druhá smyčka DO UNIL TIL slouží k vyhledání všech různých čísel sloupců uvedených a oddělených čárkami (,).

Vysvětlení kódu

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

Výše uvedený kód slouží k oddělení čísla sloupce od řetězce, který obsahuje všechna čísla sloupců oddělená čárkami (,).

Sloupce (CInt (strCol)). NumberFormat = wks.Cells (intRow, 16) .Value

Výše uvedený kód se používá k použití vlastního formátu čísla na zadaný sloupec.

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

Výše uvedený kód slouží k oddělení vynechaného řetězce po odebrání čísla sloupce z definovaného řetězce.

Pro kód prosím postupujte níže

Volba Explicitní dílčí formátování () 'Deklarování proměnných Dim wks As Worksheet Dim intRow As Long Dim strCol As String Dim txt As String' Inicializace proměnných Set wks = Worksheets ("Format") intRow = 4 'Looping in 16. column until empty value is nalezeno Do Before IsEmpty (wks.Cells (intRow, 16)) 'Assigning the value of custom number format txt = wks.Cells (intRow, 17)' Looping and find all the column number separated by comma (,) Do Before InStr ( txt, ",") = 0 'Získání čísla sloupce strCol = Vlevo (txt, InStr (txt, ",") - 1)' Přiřazení formátu čísla Sloupce (CInt (strCol)). NumberFormat = wks.Cells (intRow , 16). Hodnota 'Zkrácení řetězce pro nalezení čísla dalšího sloupce za čárkou (,) txt = Right (txt, Len (txt) - InStr (txt, ",")) Loop' Přiřazení formátu čísla Sloupce (CInt (txt)). NumberFormat = wks.Cells (intRow, 16). Hodnota intRow = intRow + 1 Loop End Sub

Pokud se vám tento blog líbil, sdílejte ho se svými přáteli na Facebooku. Také nás můžete sledovat na Twitteru a Facebooku.

Rádi bychom od vás slyšeli, dejte nám vědět, jak můžeme zlepšit naši práci a zlepšit ji pro vás. Napište nám na e -mail