VBA-indeling - Hoe de VBA-opmaakfunctie te gebruiken? (Voorbeelden)

Excel VBA-opmaakfunctie

De opmaakfunctie in VBA wordt gebruikt om de gegeven waarden in het gewenste formaat op te maken, deze functie kan worden gebruikt voor het opmaken van datums of getallen of trigonometrische waarden, deze functie heeft in feite twee verplichte argumenten, een is de invoer die wordt genomen in de vorm van een string en het tweede argument is het type formaat dat we willen gebruiken, bijvoorbeeld als we Formaat (.99, "Percentage") gebruiken, dit geeft ons het resultaat als 99%.

In VBA moeten we de functie genaamd "FORMAT" gebruiken om op cellen toe te passen. Excel-opmaak is een van de belangrijkste concepten om onder de knie te krijgen. De gebruikelijke opmaaktechnieken die we allemaal in ons dagelijkse werk gebruiken, zijn "datumnotatie, tijdnotatie, getalnotatie en andere belangrijke opmaakcodes." In normale Excel-werkbladen klikken we gewoon op de Excel-celoptie en voeren we de opmaakopdracht uit door de juiste opmaakcode toe te passen. In VBA is dit echter niet zo eenvoudig als onze werkbladtechniek.

Syntaxis

  • Expressie: dit is niets anders dan de waarde die we willen opmaken. In VAB-technische details wordt het Expression genoemd.
  • (Formaat): wat is het formaat dat u wilt toepassen op de uitdrukking die u heeft geselecteerd? We hebben hier twee soorten opmaak, een is het door de gebruiker gedefinieerde formaat en de tweede is het ingebouwde formaat.
    Hier hebben we VBA-datumnotaties, nummerformaten en tekstformaten.
    VBA-datumnotaties hebben een korte datum, lange datum, gemiddelde datum en algemene datum.
    Getalnotaties hebben Valuta, Standaard, Percentage, Wetenschappelijk, Ja of Nee, Waar of niet waar en Aan of Uit.
  • (Eerste dag van de week): Wat is de eerste dag van uw week? We kunnen elke dag uit de lijst selecteren. Hieronder vindt u de lijst met dagen en de juiste codes.
  • (Eerste week van het jaar): Wat is de eerste week van het jaar? Dit specificeert de week die moet worden gebruikt als de allereerste week van het jaar.

Hoe te gebruiken?

Oké, laten we deze functie praktisch toepassen om de functionaliteit van de FORMAT-functie te begrijpen. Stel dat u het nummer 8072.56489 hebt en dat u er nummeropmaak op wilt toepassen. Volg de onderstaande stappen om er nummeropmaak op toe te passen.

Stap 1: Start een Excel-macro en definieer de variabele als een " string " -gegevenstype.

Code:

Sub Worksheet_Function_Example1 () Dim K As String End Sub

Stap 2: Wijs een waarde toe aan k als ons nummer, dwz 8072.56489

Code:

Sub Worksheet_Function_Example1 () Dim K As String K = 8072.56489 End Sub

Stap 3: Toon de waarde " k " in het VBA-berichtvenster.

Code:

Sub Worksheet_Function_Example1 () Dim K As String K = 8072.56489 MsgBox K End Sub

Stap 4: Als u deze macro uitvoert, krijgen we het onderstaande resultaat.

Het resultaat is zoals het is, we hebben de waarde toegewezen aan variabele 'k'. Maar we moeten wat opmaak toepassen op dit nummer om het mooi te maken.

Stap 5: In plaats van direct een waarde aan “ k ” toe te kennen, gebruiken we de FORMAT-functie.

Code:

Sub Worksheet_Function_Example1 () Dim K As String K = Formaat (MsgBox K End Sub

Stap 6: Wijs nu voor Expression het nummer 8072.56489 toe .

Code:

Sub Worksheet_Function_Example1 () Dim K As String K = Formaat (8072.56489, MsgBox K End Sub

Stap 7: In de opmaakoptie kunnen we ofwel een ingebouwd formaat gebruiken, of we kunnen onze eigen opmaakcode gebruiken. Nu ga ik een ingebouwde opmaakstijl gebruiken als ' Standaard'.

Code:

Sub Worksheet_Function_Example1 () Dim K As String K = Format (8072.56489, "Standard") MsgBox K End Sub


Stap 8: Voer nu deze code uit en bekijk het resultaat van het berichtvenster.

Oké, we hebben komma (,) als scheidingstekens voor duizendtallen, en decimalen worden naar boven afgerond op slechts twee cijfers.

Op deze manier kunnen we vele andere ingebouwde opmaakstijlen gebruiken om de opmaak toe te passen. Hieronder staan ​​enkele van de codes die ik heb toegepast.

# 1 - Valuta-indeling

Code:

Sub Worksheet_Function_Example2 () Dim K As String K = Format (8072.56489, "Currency") MsgBox K End Sub

Resultaat:

# 2 - Vast formaat

Code:

Sub Worksheet_Function_Example3 () Dim K As String K = Formaat (8072.56489, "Fixed") MsgBox K End Sub

Resultaat:

# 3 - Percentage formaat

Code:

Sub Worksheet_Function_Example4 () Dim K As String K = Formaat (8072.56489, "Percent") MsgBox K End Sub

Resultaat:

# 4 - Door de gebruiker gedefinieerde formaten

Oké, nu zullen we enkele door de gebruiker gedefinieerde formaten zien.

Code:

Sub Worksheet_Function_Example5 () Dim K As String K = Format (8072.56489, "#. ##") MsgBox K End Sub

Resultaat:

Code:

Sub Worksheet_Function_Example5 () Dim K As String K = Format (8072.56489, "#, ##. ##") MsgBox K End Sub

Resultaat:

# 5 - Datum FORMAT

We hebben enkele van de belangrijke aantallen opmaaktechnieken gezien. Nu zullen we de FORMAT-functie moeten gebruiken om de datum in VBA op te maken.

Ik heb code geschreven om het resultaat van de datum door de variabele te laten zien.

Code:

Sub Worksheet_Function_Example6 () Dim K As String K = 13 - 3 - 2019 MsgBox K End Sub

Als ik deze code uitvoer, krijg ik geen nauwkeurige datum. Het resultaat is eerder zielig.

Om de juiste datums te krijgen, moeten we de datumnotatie eraan toewijzen. Het eerste is dat we de datum tussen dubbele aanhalingstekens moeten invoeren en de datumnotatie moeten toepassen.

Code:

Sub Worksheet_Function_Example6 () Dim K As String K = Formaat ("10 - 3 - 2019", "Long Date") MsgBox K End Sub 

Ik voer deze code nu uit en ik krijg een goede lange datum.

"Long Date" is een ingebouwd formaat. Op dezelfde manier kunt u de opties "korte datum" en "gemiddelde gegevens" gebruiken.

Dingen om te onthouden

  • De waarde die door de functie FORMAT wordt geretourneerd, is de tekenreeks.
  • We kunnen ook onze eigen datum-, tijd- en cijferopmaakcodes gebruiken, zoals we die gebruiken bij de opmaak van werkbladen.
  • FORMAT is een VBA-functie en alleen beschikbaar in VBA, niet in het werkblad.

Interessante artikelen...