Datum VBA-indeling - Hoe het datumnotatie in VBA-code wijzigen?

Inhoudsopgave

Excel VBA-opmaakdatum

Om een datum in VBA op te maken , gebruiken we de ingebouwde FORMAT-functie zelf, het neemt invoer als het datumnotatie en retourneert het gewenste vereiste formaat, de vereiste argumenten voor deze functie zijn de uitdrukking zelf en het formaattype.

Opmaak van datum en tijd zijn gevoelige dingen in Excel, en hetzelfde geldt ook voor VBA. De standaarddatum en -tijd zijn gebaseerd op de systeemdatum waarop we werken, die van systeem tot systeem kan verschillen. In dit artikel laten we u verschillende technieken zien voor het opmaken van datums met VBA-codes.

Om het datumnotatie met VBA-codering te wijzigen, moeten we weten wat de datumnotaties zijn en wat de impact is op de datum.

De onderstaande tabel toont de verschillende datumnotaties en hun codes.

Dus, als u in gedachten houdt dat de bovenstaande grafiek de datum opmaakt via VBA-codering, is helemaal geen moeilijke taak.

Hoe de datumnotatie in VBA wijzigen?

Hieronder staan ​​de voorbeelden van Excel VBA-datumnotatie.

Voorbeeld 1

We hebben bijvoorbeeld dezelfde datum in meerdere cellen van het werkblad, zoals hieronder weergegeven.

Nu zullen we verschillende datumnotaties toepassen voor dezelfde datum om de impact te zien bij verschillende datumnotatiecodes.

Kopieer eerst dezelfde gegevens ook naar de volgende kolom om de impact te zien.

Voor de eerste datum, dwz cel A1, zullen we de indeling "DD-MM-JJJJ" toepassen .

In de code moeten we eerst de cel selecteren met behulp van het RANGE- object.

Code:

Sub Date_Format_Example1 () Bereik ("A1") End Sub

Aangezien we de datumnotatie van de cel wijzigen, hebben we toegang nodig tot de eigenschap " Getalnotatie " van het RANGE-object.

Code:

Sub Date_Format_Example1 () Bereik ("A1"). NumberFormat End Sub

Na toegang tot " Getalnotatie " moeten we het getalnotatie instellen door het gelijkteken te plaatsen en de opmaakcode tussen dubbele aanhalingstekens te plaatsen.

Code:

Sub Date_Format_Example1 () Bereik ("A1"). NumberFormat = "dd-mm-jjj" 'Dit zal de datum wijzigen in "23-10-2019" End Sub

Wanneer we deze code uitvoeren, wordt de getalnotatie op cel A1 toegepast als ' DD-MM-JJJ'.

Uitgang:

Voorbeeld 2

Op dezelfde manier heb ik ook verschillende opmaakcodes voor andere cellen toegepast, en hieronder staat de VBA-code voor jou.

Code:

Sub Date_Format_Example2 () Bereik ("A1"). NumberFormat = "dd-mm-jjj" 'Dit zal de datum wijzigen in "23-10-2019" Bereik ("A2"). NumberFormat = "ddd-mm-jjj" 'Hierdoor wordt de datum gewijzigd in "Wed-10-2019" Bereik ("A3"). NumberFormat = "dddd-mm-jjj"' Hierdoor wordt de datum gewijzigd in "Woensdag-10-2019" Bereik ("A4") .NumberFormat = "dd-mmm-jjj" 'Dit zal de datum veranderen in "23-Oct-2019" Bereik ("A5"). NumberFormat = "dd-mmmm-jjj"' Dit zal de datum veranderen in "23- Oktober-2019 "Bereik (" A6 "). NumberFormat =" dd-mm-jj "'Dit zal de datum wijzigen in" 23-10-19 "Bereik (" A7 "). NumberFormat =" ddd mmm jjjj "' Dit zal de datum wijzigen in "wo okt 2019"Bereik ("A8"). NumberFormat = "dddd mmmm jjjj" 'Dit zal de datum wijzigen in "Woensdag oktober 2019". End Sub

Het resultaat van deze code is als volgt.

Uitgang:

Wijzig de datumnotatie met behulp van de FORMAT-functie

In VBA hebben we een functie genaamd FORMAT, die kan worden gebruikt om het gewenste formaat op de cel toe te passen.

We hoeven alleen maar te specificeren wat de waarde is voor "Expression" en de "Format" dienovereenkomstig toe te passen.

Bekijk de onderstaande code voor een voorbeeld.

Code:

Sub Date_Format_Example3 () Dim MyVal As Variant MyVal = 43586 MsgBox Format (MyVal, "DD-MM-YYYY") End Sub

In de bovenstaande code heb ik de variabele gedefinieerd als variant (die elke waarde kan bevatten).

Code:

Dim MyVal als variant

Vervolgens heb ik voor deze variabele de waarde 43586 toegewezen.

Code:

MyVal = 43586

Next, in the message box, I have shown the result of the variable, but before we show the result, we have used the “FORMAT” function to format the value of the variable “MyVal,” and the format is given. “DD-MM-YYYY.”

Code:

MsgBox Format(MyVal, "DD-MM-YYY")

Ok, let’s run the code and see the result in the message box in VBA.

Output:

As you can see above, the result shows as “01-05-2019”.

Now you must be wondering we have supplied the serial number but the result showing as the date. This is because Excel stores the date as serial numbers, so the value 43586 is equal to the date “01-05-2019,” and if you increase the number by 1 i.e., 43587, the date will be “02-05-2019”.

Code:

Sub Date_Format_Example3 () Dim MyVal As Variant MyVal = 43586 MsgBox Format (MyVal, "DD-MM-YYY") End Sub

Dingen om te onthouden

  • De standaarddatum van uw systeem wordt ook op uw Excel toegepast.
  • De eigenschap Number Format kan worden gebruikt om de datumnotatie in VBA te wijzigen.
  • Met behulp van de FORMAT-functie kunnen we de datumnotatie wijzigen.
  • Excel slaat de datum op als serienummers en als u de datumnotatie toepast, wordt deze dienovereenkomstig weergegeven.

Interessante artikelen...