Hàm tháng VBA - Làm thế nào để lấy số tháng từ ngày?

Mục lục

Excel VBA tháng

Hàm Tháng VBA là một hàm có sẵn được sử dụng để lấy tháng từ một ngày và kết quả trả về bởi hàm này là số nguyên trong khoảng từ 1 đến 12. Hàm này chỉ trích xuất số tháng từ giá trị ngày được cung cấp.

Ví dụ: nếu ngày là 28 tháng 5 năm 2019, thì để trích xuất số tháng từ ngày này, chúng ta có thể sử dụng hàm MONTH.

Làm thế nào để sử dụng hàm tháng trong VBA?

Dưới đây là cú pháp của hàm MONTH.

Chúng tôi chỉ cần cung cấp ngày mà chúng tôi đang cố gắng trích xuất số tháng.

Ví dụ 1

Chúng ta sẽ xem cách viết mã để trích xuất số tháng từ ngày. Chúng tôi sẽ lấy ngày là “10 ngày tháng 10 năm 2019".

Bước 1: Bắt đầu quy trình macro.

Mã:

Sub Month_Example1 () End Sub

Bước 2: Xác định biến để giữ giá trị ngày tháng. Vì chúng tôi đang lưu trữ giá trị dữ liệu, nên kiểu dữ liệu của chúng tôi phải là "Ngày". Vì vậy hãy khai báo biến và gán kiểu dữ liệu là “Date” cho biến đã khai báo.

Mã:

Sub Month_Example1 () Dim DDate As Date End Sub

Bước 3: Đối với biến này, gán giá trị ngày 10 tháng tháng 10 năm 2019.

Mã:

Sub Month_Example1 () Dim DDate As Date DDate = "10 Oct 2019" End Sub

Bước 4: Bây giờ chỉ định số tháng để khai báo một biến nữa là “Số nguyên”.

Mã:

Sub Month_Example1 () Dim DDate As Date Dim MonthNum As Integer DDate = "10 Oct 2019" Kết thúc Sub
Lưu ý: Lý do tại sao chúng tôi khai báo biến là Số nguyên vì số tháng của chúng tôi chỉ kết thúc ở 12. Vì vậy, kiểu dữ liệu số nguyên có thể chứa số này.

Bước 5: Đối với biến này, chúng ta sẽ mở hàm MONTH.

Mã:

Sub Month_Example1 () Dim DDate As Date Dim MonthNum As Integer DDate = "10 Oct 2019" MonthNum = Tháng (Kết thúc Sub

Bước 6: Chức năng tháng hỏi “Ngày tháng” cần cung cấp để trích xuất số tháng. Vì chúng tôi đã lưu trữ ngày được nhắm mục tiêu vào biến “DDate”, hãy cung cấp biến này làm tham số đầu vào cho hàm tháng.

Mã:

Sub Month_Example1 () Dim DDate As Date Dim MonthNum As Integer DDate = "10 Oct 2019" MonthNum = Tháng (DDate) Kết thúc Sub

Bước 7: Bây giờ, hàm “Month” sẽ trả về số tháng từ ngày được cung cấp cho biến “MonthNum” và cuối cùng hiển thị kết quả trong hộp thông báo trong VBA.

Mã:

Sub Month_Example1 () Dim DDate As Date Dim MonthNum As Integer DDate = "10 Oct 2019" ThángNum = Tháng (DDate) MsgBox ThángNum End Sub

Chạy mã và xem số tháng trong hộp tin nhắn.

Đầu ra:

Vì vậy, số tháng kể từ ngày được cung cấp là 10, tức là tháng 10.

Ví dụ số 2

Bây giờ chúng ta sẽ lấy tham chiếu ô để mã hóa. Dưới đây là ngày chúng tôi có trong trang tính.

Vì vậy, từ giá trị ngày của ô A2, chúng ta cần trích xuất số tháng sang ô B2.

Mã:

Sub Month_Example2 () Range ("B2"). Giá trị = End Sub

Mở hàm MONTH và cung cấp ngày dưới dạng giá trị RANGE A2.

Mã:

Sub Month_Example2 () Range ("B2"). Giá trị = Tháng (Range ("A2")) End Sub

Lý do tại sao chúng tôi cung cấp ô Phạm vi A2 bởi vì lần này, ngày của chúng tôi nằm trong ô A2, vì vậy cùng một tham chiếu sẽ là.

Bây giờ thực thi mã và lấy số tháng kể từ ngày trong ô B2.

Đây là số tháng trong ô B2.

Ví dụ # 3

Chúng tôi đã trích xuất tháng cho ngày một ô, nhưng điều gì sẽ xảy ra nếu chúng tôi có nhiều hàng dữ liệu như bên dưới.

Trong những trường hợp này, chúng ta cần lặp qua các ô và thực hiện tác vụ trích xuất số tháng từ mỗi ngày tương ứng.

Đoạn mã dưới đây sẽ thực hiện công việc cho chúng tôi.

Mã:

Sub Month_Example3 () Dim k As Long For k = 2 to 12 Cells (k, 3) .Value = Month (Cells (k, 2) .Value) Next k End Sub

Những gì mã này sẽ làm là nó sẽ lặp qua các hàng từ 2 đến 12 và trích xuất số tháng từ cột thứ hai và lưu trữ kết quả trong cột thứ ba.

Những điều cần nhớ ở đây

  • MONTH là một hàm trang tính, cũng như một hàm VBA.
  • MONTH yêu cầu tham chiếu ngày hợp lệ, nếu không, chúng tôi sẽ nhận được thông báo lỗi.
  • Nếu số tháng là 12, thì nó sẽ thông báo lỗi.

thú vị bài viết...