Formátujte údaje pomocou vlastných formátov čísel pomocou jazyka VBA v programe Microsoft Excel

Obsah

V tomto článku vytvoríme makro na formátovanie daných údajov v požadovanom formáte vlastného čísla pomocou VBA.

Surové údaje pre tento príklad pozostávajú z údajov predajného tímu. Surové údaje obsahujú názov, ID produktu, cenu produktu, predané množstvo a celkový predaj.

Pred spustením makra musíte zadať formát vlastného čísla v stĺpci P a čísle stĺpca, v ktorom chcete použiť vlastný formát čísla v stĺpci Q.

Kliknutím na tlačidlo „Formátovať“ spustíte makro „Formátovanie“.

Makro zmení formátovanie daných údajov podľa zadaného vlastného formátu čísla.

Logické vysvetlenie

Toto makro vyberie formátovanie čísel zo stĺpca P a priradí formátovanie čísel stĺpcom určeným číslami stĺpcov v stĺpci Q.

V tomto makre sme použili dve slučky DO DO PÁTKA na opakovanie. Najprv DO DO TO Loop sa používa na opakovanie, kým sa na stĺpce nepoužijú všetky formáty čísel. Druhá slučka DO UNIL TIL, sa používa na nájdenie všetkých rôznych čísel stĺpcov uvedených a oddelených čiarkami (,).

Vysvetlenie kódu

strCol = vľavo (txt, InStr (txt, ",") - 1)

Vyššie uvedený kód sa používa na oddelenie čísla stĺpca od reťazca, ktorý obsahuje všetky čísla stĺpcov oddelených čiarkami (,).

Stĺpce (CInt (strCol)). NumberFormat = wks.Cells (intRow, 16). Hodnota

Vyššie uvedený kód sa používa na použitie vlastného formátu čísla v uvedenom stĺpci.

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

Vyššie uvedený kód sa používa na oddelenie vynechaného reťazca po odstránení čísla stĺpca z definovaného reťazca.

Pri kódovaní postupujte podľa nižšie uvedených pokynov

Voľba Explicitné podformátovanie () 'Deklarovanie premenných Dim wks Ako pracovný list Dim intRow As Long Dim strCol As String Dim txt As String' Inicializácia premenných Set wks = Worksheets ("Format") intRow = 4 'Looping in 16 column until prázdna hodnota nájdené Do Do IsEmpty (wks.Cells (intRow, 16)) 'Priradenie hodnoty formátu vlastného čísla txt = wks.Cells (intRow, 17)' Opakovanie a nájdenie celého čísla stĺpca oddeleného čiarkou (,) Do InStr ( txt, ",") = 0 'Získanie čísla stĺpca strCol = vľavo (txt, InStr (txt, ",") - 1)' Priradenie formátu čísla stĺpcom (CInt (strCol)). NumberFormat = wks.Cells (intRow , 16). Hodnota 'Skrátenie reťazca na nájdenie nasledujúceho čísla stĺpca za čiarkou (,) txt = Right (txt, Len (txt) - InStr (txt, ",")) Loop' Priradenie formátu čísla Stĺpce (CInt (txt)). NumberFormat = wks.Cells (intRow, 16). Hodnota intRow = intRow + 1 Loop End Sub

Ak sa vám tento blog páčil, zdieľajte ho so svojimi priateľmi na Facebooku. Môžete nás tiež sledovať na Twitteri a Facebooku.

Budeme radi, ak sa nám ozvete, dajte nám vedieť, ako môžeme zlepšiť našu prácu a zlepšiť ju pre vás. Napíšte nám na emailovú stránku

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave