VBA-formaat datum

Deze zelfstudie laat zien hoe u datums kunt opmaken met VBA.

Datums opmaken in VBA

Er zijn twee methoden om datums op te maken met VBA.

  1. De eigenschap NumberFormat van Cells / Ranges - Datums opmaken die in cellen zijn opgeslagen
  2. De VBA-opmaakfunctie - Datums in VBA opmaken (bijv. variabelen)

NummerFormaat - Datums

De standaard getalnotatie van een cel in Excel is Algemeen. U kunt waarden weergeven als getallen, tekst, datums, percentages of valuta's door de getalnotatie te wijzigen. De eigenschap NumberFormat kan in VBA worden gebruikt om de getalnotatie van datums in een cel of bereik in te stellen.

Opmerking: Om de verschillende standaard datumnotaties die beschikbaar zijn in Excel te zien, gaat u naar Home>Nummer en ziet u opties zoals Korte datum, Lange datum en Tijd.


Korte datum

De optie Korte opmaak van datumnummers geeft de datum weer in een korte, numerieke notatie.

Met de volgende code wordt de eigenschap .NumberFormat van cel A1 ingesteld op Korte datum:

1 Bereik ("A1").NumberFormat = "mm/dd/jjjj"

Lange datum

Opmaak met lange datumnummers geeft de datum in een langer, geschreven formaat weer. Met de volgende code wordt de eigenschap .NumberFormat van cel A1 ingesteld op Lange datum:

1 Bereik ("A1").NumberFormat = "dddd, mmmm dd, jjjj"

Aangepaste datums

Om de aangepaste nummernotatiecodes te zien die u in VBA kunt gebruiken om datums op te maken, gaat u naar Home>Nummer en klikt u op de Dialog Box Launcher. Selecteer het tabblad Nummer en kies Aangepast.

U kunt de aangepaste ingebouwde formaten voor uw datum selecteren of uw eigen door de gebruiker gedefinieerde datumnotaties maken. Met de volgende code wordt de eigenschap .NumberFormat van cel A1 ingesteld op een ingebouwde aangepaste datumnotatie:

1 Bereik ("A1").NumberFormat = "mmm-jj"

Het resultaat is:

Met de volgende code wordt de eigenschap .NumberFormat van cel A1 ingesteld op een door de gebruiker gedefinieerde aangepaste datumnotatie:

1 Range("A1").NumberFormat = "dddd-dd-mmm-jj"

Het resultaat is:

Door de vooraf gebouwde voorbeelden van Excel te bekijken, kunt u leren hoe NumberFormats moeten worden ingevoerd. Lees voor meer informatie de documentatie van Microsoft over getalnotaties voor datums.

VBA-formaatfunctie

Zoals hierboven vermeld, is de NumberFormat-methode geschikt voor het instellen van de Numberformat van datums die zijn opgeslagen in Excel-cellen. In VBA kunt u de functie Opmaak gebruiken om datums om te zetten in tekenreeksen met bepaalde datumopmaak.

U zou de volgende syntaxis gebruiken om datums op te maken:

Format(String_Representation, NumberFormatCode) waarbij:

String_Representation - de tekenreeks die de datum vertegenwoordigt.

NumberFormatCode - de getalnotatiecode die aangeeft hoe de datum moet worden weergegeven.

De volgende code laat zien hoe u een tekstreeksrepresentatie van een datum opmaakt als lange datumnotatie:

1 MsgBox-indeling ("1/1/2010", "dddd, mmmm dd, jjjj")

Het resultaat is:

Merk op dat de Formaatfunctie dezelfde syntaxis voor datumopmaak gebruikt als de NumberFormat hierboven.

De volgende code laat zien hoe u een tekstreeksrepresentatie van een datum opmaakt als middellange datumnotatie:

1 MsgBox-indeling ("09 oktober 2012", "Gemiddelde datum")

Het resultaat is:

De volgende code laat zien hoe u een tekstreeksrepresentatie van een datum opmaakt als een door de gebruiker gedefinieerde indeling:

1 MsgBox-indeling ("09 oktober 2012", "dddd: dd/mm/jj")

VBA Custom Format Builder

Onze VBA-invoegtoepassing: AutoMacro bevat een Custom Format Builder voor de VBA-editor. Hiermee kunt u aangepaste indelingen instellen en onmiddellijk een voorbeeld van de uitvoer bekijken voor uw gewenste waarde:

De VBA-invoegtoepassing bevat tal van andere "Code Generators", een uitgebreide codebibliotheek en een assortiment andere coderingstools. Het is de ultieme add-in voor iedereen die serieus bezig is met VBA-programmeren!

Datum in VBA-indeling in Access

De VBA Format Date-functie werkt precies hetzelfde in Access VBA als in Excel VBA.

12345678910 Functie GetDateFilter() As String'maak een string om informatie uit 2 datumvelden op een formulier in Access te halen'Dim strDateField As StringAls IsNull(Me.txtSDate) = False DanAls IsNull(Me.txtEDate) = True Dan Me.txtEDate = Me.txtSDateIf strDateField2 = "" DanGetDateFilter = strDateField & " Between #" & Format(Me.txtSDate, "mm/dd/yyyy") & "# And # " & Format(Me.txtEDate, "mm/dd/yyyy") & "#"Stop alsStop alsFunctie beëindigen

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

wave wave wave wave wave