deze tutorial laat zien hoe u datums formatteert met behulp van VBA.
formatteer datums in VBA
er zijn twee methoden om datums te formatteren met VBA.
- de eigenschap NumberFormat van cellen / bereiken – datums opmaken opgeslagen in cellen
- de functie VBA-formaat-datums opmaken in VBA (ex. variabelen)
NumberFormat-datums
de standaard getalnotatie van een cel in Excel is algemeen. U kunt waarden weergeven als getallen, tekst, datums, percentages of valuta ‘ s door het nummerformaat te wijzigen. De eigenschap NumberFormat kan in VBA worden gebruikt om het nummerformaat van datums in een cel of Bereik in te stellen.
OPMERKING: Om de verschillende standaard datumnotaties in Excel te zien, ga naar Home>nummer en u ziet opties zoals korte Datum, lange datum en tijd.
korte Datum
de optie korte datumnummer opmaak toont de datum in een kort, numeriek formaat.
de volgende code zal de .NumberFormat eigenschap van cel A1 tot Korte datum:
1
|
bereik (“A1”).NumberFormat = “mm / dd / jjjj”
|
lange Datum
lange Datum nummer opmaak geeft de datum in een langere, geschreven formaat. De volgende code zal de .NumberFormat eigenschap van cel A1 tot 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 het dialoogvenster Starter. Selecteer het tabblad Nummer en kies Aangepast.
u kunt de aangepaste ingebouwde formaten voor uw datum selecteren of uw eigen door de gebruiker gedefinieerde datumformaten maken. De volgende code zal de .NumberFormat eigenschap van cel A1 naar een ingebouwde aangepaste datumnotatie:
1
|
Bereik (“A1”).NumberFormat = “mmm-yy”
|
het resultaat is:
de volgende code stelt de .NumberFormat eigenschap van cel A1, naar een door de gebruiker gedefinieerde aangepaste datumnotatie:
1
|
bereik (“A1”).NumberFormat = “dddd-dd-mmm-yy”
|
het resultaat is:
door Excel ‘ s vooraf gebouwde voorbeelden te bekijken, kunt u leren hoe NumberFormats moeten worden ingevoerd. Lees de documentatie van Microsoft over nummerindelingen voor datums voor meer informatie.
VBA-opmaakfunctie
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 formaat gebruiken om datums naar tekenreeksen te converteren met bepaalde datumopmaak.
u gebruikt de volgende syntaxis om datums op te maken:
formaat (String_Representation, NumberFormatCode) waarbij:
String_Representation – de tekstreeks die de datum weergeeft.
NumberFormatCode-de nummerformaatcode die aangeeft hoe de datum moet worden weergegeven.
de volgende code laat zien hoe een tekstreeksweergave van een datum wordt opgemaakt als lange datumnotatie:
1
|
MsgBox-Indeling(“1/1/2010”, “dddd, mmm dd, jjjj”)
|
Het resultaat is:
Merk op dat de Indeling van de Functie maakt gebruik van dezelfde datum opmaak syntaxis als de NumberFormat boven.
de volgende code laat zien hoe een tekststringweergave van een datum wordt opgemaakt als medium datumformaat:
1
|
MsgBox-Indeling(“09 oktober 2012”, “Medium-Date”)
|
Het resultaat is:
De volgende code toont hoe u een tekst string representatie van een datum 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 formaten instellen en onmiddellijk een voorbeeld van de uitvoer voor uw gewenste waarde:
de VBA-invoegtoepassing bevat tal van andere” codegeneratoren”, een uitgebreide codebibliotheek en een assortiment van andere coderingshulpmiddelen. Het is de ultieme invoegtoepassing voor iedereen die serieus is over VBA-programmering!
VBA-Opmaakdatum in Access
de functie VBA-Opmaakdatum werkt precies hetzelfde in Access VBA als in Excel VBA.
1
2
3
4
5
6
7
8
9
10
|
Functie GetDateFilter() As String
‘maak een string om informatie te krijgen van 2 date velden op een formulier in Access
Dim strDateField Als String
If IsNull(Me.txtSDate) = False dan
If IsNull (Me.txtEDate) = waar dan ik.txtEDate = ik.txtSDate
If strDateField2 = “”Then
GetDateFilter = strDateField & “Between #” & Format (Me.txtSDate,” mm/dd/jjjj”) & “# And # ” & formaat (Me.txtedaat, “mm / dd / jjjj”) & “#”
End If
End If
End functie
|