Hiện ngày tháng năm hiện tại trên Form

Thanhhoai0

Thành viên mới
Chào các bạn
Mình thiết kế một giao diện Form bằng vba, nhưng không biết cách viết code để form hiện được ngày tháng hiện tại trên giao diện cho đẹp !!! Các bạn giúp mình xíu nhé
ví dụ hiện lên giao diện form như thế này ạ !!!
Hôm nay, Ngày 26 tháng 8 năm 2020
Bây giờ là : 22 giờ 58 phút
 

John Carter

Thành viên mới
Bạn có thể tham khảo code của mình
code trong module:
Mã:
Sub call_UF()
UF.Show
End Sub
code trong Userform:
Mã:
Private Sub UserForm_Initialize()
TB_date.Value = "Hôm nay," & " Ngày " & Format(Now, "dd") & " Tháng " & Format(Now, "mm") & " N" & ChrW(259) & "m " & Format(Now, "yyyy")
TB_time.Value = "Bây gi" & ChrW(7901) & " là " & Format(Now, "hh") & " gi" & ChrW(7901) & " " & Format(Now, "mm") & " phút "
End Sub
File demo (sẽ die trong vòng 7 ngày):
 
Sửa lần cuối:

syquyen1987

Thành viên mới
Bạn có thể tham khảo code của mình
code trong module:
Mã:
Sub call_UF()
UF.Show
End Sub
code trong Userform:
Mã:
Private Sub UserForm_Initialize()
TB_date.Value = "Hôm nay," & " Ngày " & Format(Now, "dd") & " Tháng " & Format(Now, "mm") & " N" & ChrW(259) & "m " & Format(Now, "yyyy")
TB_time.Value = "Bây gi" & ChrW(7901) & " là " & Format(Now, "hh") & " gi" & ChrW(7901) & " " & Format(Now, "mm") & " phút "
End Sub
File demo (sẽ die trong vòng 7 ngày):
Bạn ơi, có cách nào ngày giờ tự cập nhật không, vì mở Userform vài phút nhưng thời gian không update
 

John Carter

Thành viên mới
@syquyen1987 cơ bản là bạn phải chạy macro thì nó mới thực hiện câu lệnh, chứ không thể cập nhật real time.
Tuy nhiên, ta có thể lợi dụng sự kiện của Userform hoặc các sự kiện khác để cập nhật thời gian, ví dụ: Mỗi khi di chuyển chuột trên Userform thì chạy macro, hoặc mỗi khi bạn điền thông tin vào Userform (texbox change, texbox select...). Nói tóm lại là có nhiều cách để làm, ăn thua dữ liệu bạn như thế nào và bạn cần update thời gian đến mức nào thì lựa cách phù hợp nhất.
Ví dụ thêm sự kiện move chuột trên userform, mỗi lần chuột di chuyển là cập nhật thời gian 1 lần:
Mã:
Private Sub UserForm_Initialize()
TB_date.Value = "Ngày: " & Format(Now, "dd/mm/yyyy")
TB_time.Value = "Gi" & ChrW(7901) & ": " & Format(Now, "hh:mm:ss")
End Sub
File tham khảo:
 

syquyen1987

Thành viên mới
Mã:
Private Sub UserForm_Activate()
    Dim counttime As Variant
 
    Do While UserForms.Count > 0
        counttime = Format$(Time(), "h:nn:ss")
      Label1.Caption = counttime
    DoEvents
    Loop
End Sub
@syquyen1987 cơ bản là bạn phải chạy macro thì nó mới thực hiện câu lệnh, chứ không thể cập nhật real time.
Tuy nhiên, ta có thể lợi dụng sự kiện của Userform hoặc các sự kiện khác để cập nhật thời gian, ví dụ: Mỗi khi di chuyển chuột trên Userform thì chạy macro, hoặc mỗi khi bạn điền thông tin vào Userform (texbox change, texbox select...). Nói tóm lại là có nhiều cách để làm, ăn thua dữ liệu bạn như thế nào và bạn cần update thời gian đến mức nào thì lựa cách phù hợp nhất.
Ví dụ thêm sự kiện move chuột trên userform, mỗi lần chuột di chuyển là cập nhật thời gian 1 lần:
Mã:
Private Sub UserForm_Initialize()
TB_date.Value = "Ngày: " & Format(Now, "dd/mm/yyyy")
TB_time.Value = "Gi" & ChrW(7901) & ": " & Format(Now, "hh:mm:ss")
End Sub
File tham khảo:
Mình vừa tìm được trên mạng đồng hồ tự chạy trên Userfrom luôn
Code là:
Mã:
Private Sub UserForm_Activate()
    Dim counttime As Variant
  
    Do While UserForms.Count > 0
        counttime = Format$(Time(), "h:nn:ss")
      Label1.Caption = counttime
    DoEvents
    Loop
End Sub
 

John Carter

Thành viên mới
@syquyen1987 hay quá bạn ơi, cái này giờ mình mới đuọc biết, không ngờ có thể can thiệp được Caption của Userform như vậy :D
Cảm ơn bạn nhiều nhiều
 
Top