Hàm DatePart VBA | Làm thế nào để trả lại một phần được chỉ định trong ngày?

Hàm DatePart trong Excel VBA

DatePart trong VBA được sử dụng để xác định một phần của ngày cho ngày nhất định được cung cấp dưới dạng đối số, phần ngày có thể là ngày hoặc tháng hoặc năm hoặc thậm chí là giờ phút và giây, cú pháp của hàm này rất rõ ràng và nó như sau, Datepart (Khoảng thời gian, Ngày dưới dạng Đối số).

Cú pháp

Cú pháp của hàm DatePart được đưa ra dưới đây:

  • Khoảng thời gian: Dữ liệu được truyền trong một đối số khoảng thời gian là kiểu chuỗi có nghĩa là đối số này có thể chứa bất kỳ giá trị hợp lệ nào trong đó. Khoảng thời gian có thể là năm, tháng, quý, ngày, tuần, giờ, phút, giây.
  • Ngày: Giá trị ngày cần được đánh giá.
  • firstdayofweek: Đây là một tham số tùy chọn. Điều này mô tả ngày đầu tiên của tuần, điều này thậm chí có thể bị bỏ qua. Nếu tham số này bị bỏ qua, điều này sẽ tự động lấy Chủ nhật là ngày đầu tiên trong tuần. Nếu bạn muốn thay đổi điều đó thì tham số này có thể được sử dụng. Đối số này có thể bao gồm vbUseSystem 0.

Sử dụng cài đặt API NLS

vbSunday (Mặc định), vbMonday, vbTuesday, vbWednesday, vbThursday vbFriday, vbSaturday.
  • firstweekofyear: Tương tự như tham số hàng đầu, đây cũng là một tham số tùy chọn. Điều này mô tả tuần đầu tiên của năm. Tham số này cũng có thể được bỏ qua. Nếu thông số này bị bỏ qua, nó giả định rằng ngày 1 tháng 1 là tuần đầu tiên của năm. Nếu bạn muốn thay đổi điều đó thì tham số này có thể được sử dụng.

    Đối số này có thể bao gồm các giá trị sau.

    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

Sau khi cung cấp tất cả các tham số, Datepart () sẽ trả về giá trị số chẳng hạn như toàn bộ ngày hoặc năm hoặc tháng hoặc quý, v.v. Do đó, kiểu trả về của hàm này sẽ là giá trị số.

Cách sử dụng Hàm DatePart trong VBA?

Bạn có thể tải về Mẫu VBA DatePart Excel này tại đây - Mẫu VBA DatePart Excel

Ví dụ 1

Ví dụ đầu tiên là hiển thị ngày đầy đủ và cả quý của tháng đó.

Để đạt được điều này, chúng ta cần viết một số mã trong Visual Basic, cho Tab Nhà phát triển Goto và sau đó nhấp vào Visual Basic và sau đó một cửa sổ sẽ mở ra.

Trong cửa sổ đó viết mã như hình dưới đây.

Mã:

 Sub date_Datepart () Dim mydate As Variant mydate = # 12/25/2019 # MsgBox mydate MsgBox DatePart ("q", mydate) 'hiển thị 1/4 End Sub 

Trong ví dụ này, chúng tôi đã sử dụng hàm Datepart để hiển thị ngày và một số phần của ngày là một phần tư ngày. Điều này hiển thị quý nào trong năm là ngày sắp đến.

Nếu chúng tôi gỡ lỗi mã, ngày sẽ được hiển thị dưới dạng ngày hoàn chỉnh lần đầu tiên khi mã thực thi “Msgbox mydate” vì ngày ngẫu nhiên được gán cho biến “mydate”.

Tiếp theo, chúng tôi sẽ hiển thị ngày đó thuộc quý nào trong năm.

Khi bạn chạy mã theo cách thủ công hoặc sử dụng phím tắt F5 thì ngày sẽ được hiển thị như hình sau khi nhấp vào ok. Tiếp theo, phần tư của ngày sẽ được hiển thị, điều này có thể được hiển thị trong ảnh chụp màn hình bên dưới.

Tương tự như vậy, quý, chỉ ngày hoặc tháng hoặc năm cũng có thể được hiển thị.

Ví dụ số 2

Trong ví dụ này, tôi sẽ nhập ngày theo cách thủ công vào thời gian chạy.

Mã:

Sub date1_datePart () Dim TodayDate As Date 'Khai báo các biến. Dim Msg TodayDate = InputBox ("Nhập ngày:") Msg = "Quý:" & DatePart ("q", TodayDate) MsgBox Msg End Sub

Ở đây trong ví dụ này, chúng tôi đang cố gắng lấy ngày theo cách thủ công tại thời gian chạy. Mã “TodayDate = InputBox (“ Nhập ngày: ”)” dòng này cho biết rằng ngày có thể được nhập theo cách thủ công,

Sau khi nhập ngày theo cách thủ công, nó sẽ hiển thị Quý của Ngày trong Hộp thông báo. Điều này có thể được hiển thị trong ảnh chụp màn hình dưới đây.

Vì tháng 6 nằm trong quý 2, điều này hiển thị Quý 2 như được hiển thị trong ảnh chụp màn hình ở trên.

Ví dụ # 3

Trong ví dụ này, tất cả các giá trị sẽ được điền vào các ô.

Mã:

 Private Sub Workbook_Open () Dim DummyDate As Date DummyDate = ActiveSheet.Cells (2, 2) ActiveSheet.Cells (2, 2) .Value = Day (DummyDate) ActiveSheet.Cells (3, 2) .Value = Hour (DummyDate) ActiveSheet .Cells (4, 2) .Value = Minute (DummyDate) ActiveSheet.Cells (5, 2) .Value = Month (DummyDate) ActiveSheet.Cells (6, 2) .Value = Weekday (DummyDate) End Sub 

Ngày tháng được điền vào các ô trong trang tính excel, mã được viết dưới dạng Active Sheet.cells. Bằng mã này, ngày hiện tại có thể là tháng năm hoặc ngày có thể được chèn vào các ô đã cho.

Ví dụ: trong ảnh chụp màn hình ở trên,

Ngày sẽ được chèn vào các ô (2, 2) của trang tính excel. Do đó, mã được viết là "ActiveSheet.Cells (2, 2) .Value = Day (DummyDate)".

Chạy mã bằng phím F5 hoặc theo cách thủ công và kết quả sẽ như hình dưới đây.

Theo mặc định, nó lấy ngày hôm nay và nó được hiển thị dưới dạng 30 trong (2,6) ô.

Tương tự như vậy đối với tất cả các dữ liệu khác nó cũng có thể được lấp đầy.

Sử dụng hàm DatePart

  • Hàm DatePart có thể được sử dụng để hiển thị một phần của ngày như tên đã chỉ ra, tức là nếu chỉ ngày hoặc tháng hoặc năm cần được hiển thị thì có thể sử dụng hàm này.
  • Chức năng này cũng phân tách ngày, tháng và năm khỏi một ngày cụ thể.
  • Bằng cách sử dụng chức năng này, ngày không chỉ được tách biệt mà chúng ta còn có thể nhận được phần tư, ngày, giờ, phút và giây.

Những điều cần ghi nhớ

  • Hàm này chỉ có thể được sử dụng như một Hàm VBA. Trong excel thông thường, điều này không thể được sử dụng.
  • Ngày được cung cấp dưới dạng giá trị trong hàm này có thể được cung cấp ở bất kỳ định dạng nào như định dạng mm-dd-yyyy hoặc định dạng DD-MM-YYYY, v.v.
  • Chức năng này sẽ phân tách tất cả các giá trị riêng biệt như ngày, tháng, năm hoặc thời gian cũng là giờ, phút, giây cũng được.
  • Điều này được sắp xếp theo Hàm ngày và giờ trong VBA của Microsoft Excel.

$config[zx-auto] not found$config[zx-overlay] not found