Vba: jak uzyskać miesiąc i rok od daty


Możesz użyć właściwości NumberFormat w VBA, aby uzyskać miesiąc i rok z daty.

Oto typowy sposób wykorzystania tej właściwości w praktyce:

 SubGetMonthYear ()

Dim i As Integer

For i = 2 To 11
    Range(" C " & i).Value = DateValue(Range(" A " & i))
    Range(" C " & i).NumberFormat = " mm/yyyy "
Next i

End Sub

To konkretne makro wyszukuje miesiąc i rok dla każdej daty w zakresie A2:A11 i wyświetla te wartości w odpowiednich komórkach w zakresie C2:C11 .

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Dodaj dni do tego dnia w VBA

Załóżmy, że mamy w Excelu następujący zestaw danych, który zawiera informacje o sprzedaży zrealizowanej przez firmę w różnych terminach:

Załóżmy, że chcemy uzyskać miesiąc i rok dla każdej komórki w kolumnie daty.

W tym celu możemy utworzyć następujące makro:

 SubGetMonthYear ()

Dim i As Integer

For i = 2 To 11
    Range(" C " & i).Value = DateValue(Range(" A " & i))
    Range(" C " & i).NumberFormat = " mm/yyyy "
Next i

End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Należy zauważyć, że kolumna C zawiera miesiąc i rok każdej odpowiedniej daty w kolumnie A.

Należy pamiętać, że użyliśmy właściwości NumberFormat do formatowania dat za pomocą dwóch cyfr w przypadku miesięcy i czterech cyfr w przypadku lat.

Gdybyśmy chcieli, moglibyśmy wybrać wyświetlanie tych wartości w innym formacie.

Na przykład moglibyśmy użyć następującej składni, aby wyświetlić miesiąc za pomocą jednej cyfry (jeśli miesiąc zawiera tylko jedną cyfrę), a rok za pomocą dwóch cyfr:

 SubGetMonthYear ()

Dim i As Integer

For i = 2 To 11
    Range(" C " & i).Value = DateValue(Range(" A " & i))
    Range(" C " & i).NumberFormat = " m/yy "
Next i

End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Możesz swobodnie bawić się różnymi opcjami formatowania, aby wyświetlać wartości miesiąca i roku według własnego uznania.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

Jak porównać daty w VBA
Jak przekonwertować ciąg znaków na bieżąco w VBA
Jak obliczyć dni między dwiema datami w VBA

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *