Datum opmaken met VBA in Excel (4 methoden)

  • Deel Dit
Hugh West

Toepassing van VBA-macro is de meest effectieve, snelste en veiligste methode om elke bewerking in Excel uit te voeren. In dit artikel laten we u zien hoe u de datum in Excel kunt opmaken met behulp van VBA .

Werkboek downloaden

U kunt de gratis oefen Excel-werkmap hier downloaden.

Datum opmaken met VBA.xlsm

4 Methoden om datum op te maken in Excel met VBA

Kijk naar het volgende voorbeeld. We hebben dezelfde data opgeslagen in beide Kolom B en C zodat wanneer we de datum formatteren in Kolom C weet je van de B Kolom in welk formaat de datum was.

1. VBA om datum van het ene type naar het andere te formatteren in Excel

Laten we eerst weten hoe we de datum van Cel C5 in onze gegeven dataset met VBA naar " Dinsdag-januari-2022 ".

Stappen:

  • Druk op Alt + F11 op uw toetsenbord of ga naar de tab Ontwikkelaar -> Visual Basic om te openen Visual Basic-editor .

  • In het pop-up codevenster, klik in de menubalk op Invoegen -> Module .

  • Kopieer de volgende code en plak die in het codevenster.
 Sub DateFormat() Range("C5").NumberFormat = "dddd-mmmm-yyyy" 'Dit formatteert de datum naar "dinsdag-januari-2022" End Sub 

Uw code is nu klaar om te draaien.

  • Druk op F5 op uw toetsenbord of selecteer in de menubalk Run -> Run Sub/UserForm U kunt ook gewoon op de klein pictogram Play in de submenubalk om de macro uit te voeren.

Deze code formatteert de datum " 11-01-22 " naar " Dinsdag-januari-2022 ".

U kunt dit datumformaat ook omzetten in vele andere formaten. Volg gewoon de onderstaande code om de datum om te zetten in het formaat dat u nodig hebt.

 Sub FormatDate() 'Originele datum is "11-01-22" Range("C5").NumberFormat = "dd-mm-yyy" 'Dit formatteert de datum naar "11-01-2022" Range("C6").NumberFormat = "ddd-mm-yyy" 'Dit formatteert de datum naar "Tue-11-2022" Range("C7").NumberFormat = "dddd-mm-yyy" 'Dit formatteert de datum naar "Tuesday-11-2022" Range("C8").NumberFormat = "dd-mmm-yyy" 'Dit formatteert de datum naar"11-Jan-2022" Range("C9").NumberFormat = "dd-mmmm-yyy" 'Dit zal de datum formatteren naar "11-Jan-2022" Range("C10").NumberFormat = "dd-mm-yy" 'Dit zal de datum formatteren naar "11-01-22" Range("C11").NumberFormat = "ddd mmm yyyy" 'Dit zal de datum formatteren naar "Tue Jan 2022" Range("C12").NumberFormat = "dddd mmmm yyyy" 'Dit zal de datum formatteren naar "Tuesday January 2022" End Sub 

Overzicht

Lees meer: Nu- en opmaakfuncties in Excel VBA

2. Embed VBA om datum te converteren met de FORMAT-functie

Excel heeft zijn eigen serienummer met betrekking tot individuele data. Als u het serienummer van een willekeurige

specifieke datum, moet je een aanvraag indienen de functie DATEVALUE .

Stel, u wilt het serienummer weten van de datum " 11 januari 2022 ", dan moet u de formule schrijven als,

=DATEVALUE("11 januari 2022")

Excel zal u het serienummer geven 44572 van deze datum.

Nu zetten we dit getal om in het relevante datumformaat.

Stappen:

  • Dezelfde manier als voorheen, open Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Kopieer in het codevenster de volgende code en plak deze.
 Sub Format_Date() Dim iDate As Variant iDate = 44572 'Excel-serienummer van datum "11 januari 2022" MsgBox Format(iDate, "DD-MMM-YYYY") End Sub 

Uw code is nu klaar om te draaien.

Je krijgt de datum " 11 januari 2022 " in het berichtvak.

Lees meer: Hoe de VBA DateValue functie in Excel te gebruiken

Vergelijkbare lezingen

  • Hoe de huidige datum in te voegen in Excel (3 manieren)
  • Datumvariabele in VBA-codes (7 toepassingen van macro's met voorbeelden)
  • De huidige datum ophalen in VBA (3 manieren)
  • De snelkoppeling voor Excel-datums gebruiken

3. VBA om datum te transformeren op basis van een specifiek onderdeel in Excel

Stel, u wilt een specifiek deel van de datum formatteren, bijvoorbeeld alleen de dag/maand/jaar, schrijf dan de code als,

 Sub Date_Format() Range("C5").NumberFormat = "mmmm" 'Dit formatteert de datum naar "januari" End Sub 

Uw code is nu klaar om te draaien.

De " mmmm " in deze code betekent de lange vorm van de maandnaam.

Aangezien de datum " 11 januari 2022 " dus dit stukje code zal " Januari ".

U kunt deze code gebruiken om elk specifiek deel dat u wilt uit de datum op te maken en te extraheren.

 Sub FormatDateValue() 'Originele datum is "11-01-22" Range("C5").NumberFormat = "dd" 'Dit zal de datum formatteren naar "11" Range("C6").NumberFormat = "ddd" 'Dit zal de datum formatteren naar "Tue" Range("C7").NumberFormat = "dddd" 'Dit zal de datum formatteren naar "Tuesday" Range("C8").NumberFormat = "m" 'Dit zal de datum formatteren naar "1" Range("C9").NumberFormat = "mm" 'Dit zalFormatteer de datum naar "01" Range("C10").NumberFormat = "mmm" 'Dit formatteert de datum naar "Jan" Range("C11").NumberFormat = "yy" 'Dit formatteert de datum naar "22" Range("C12").NumberFormat = "yyyy" 'Dit formatteert de datum naar "2022" Range("C13").NumberFormat = "dd-mm" 'Dit formatteert de datum naar "11-01" Range("C14").NumberFormat = "mm-yyy" 'Dit formatteert dedatum naar "01-2022" Range("C15").NumberFormat = "mmm-yyy" 'Dit formatteert de datum naar "Jan-2022" Range("C16").NumberFormat = "dd-yy" 'Dit formatteert de datum naar "11-22" Range("C17").NumberFormat = "ddd-yyy" 'Dit formatteert de datum naar "Tue 2022" Range("C18").NumberFormat = "ddd-yyy" 'Dit formatteert de datum naar "Tuesday-2022" Range("C19").NumberFormat = "dd-mmm"'Hiermee wordt de datum opgemaakt tot "11-Jan" Range("C20").NumberFormat = "dddd-mmmm" 'Hiermee wordt de datum opgemaakt tot "dinsdag-januari" End Sub 

Overzicht

4. VBA invoegen om datum op te maken in een specifiek werkblad in Excel

Als u een datum wilt opmaken op basis van een specifiek werkblad, dan moet u eerst de werkbladnaam instellen in de code en vervolgens de datum opmaken volgens het gewenste type.

  • Open Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Kopieer in het codevenster de volgende code en plak deze.
 Sub Format_Date() Dim iSheet As Worksheet Set iSheet = ThisWorkbook.Sheets("Example") 'Stel het werkblad met de naam "Example" in iSheet.Range("C5").NumberFormat = "dddd, mmmmdd, yyyy" End Sub 

Uw code is nu klaar om te draaien.

Kijk naar de 3e regel van de code waar we eerst de " Voorbeeld " werkblad dan de datum van dat bepaalde Excel-blad opmaken.

Conclusie

Dit artikel heeft u laten zien hoe u de datum in Excel kunt opmaken met VBA Ik hoop dat dit artikel nuttig voor je is geweest. Voel je vrij om vragen te stellen als je vragen hebt over het onderwerp.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.