ongtrungducmx25
Thành viên gạo cội
- Tham gia
- 5/2/07
- Bài viết
- 2,077
- Được thích
- 1,987
- Nghề nghiệp
- GV
xin hỏi pác nao biết code để hiện giờ trên UserForm1,em có file đính kèm dưới đây
Sub gioi_click()
UserForm1.Show
Call Run
End Sub
Sub Run()
UserForm1.Label1.Caption = Now
Application.OnTime Now + TimeValue("00:00:01"), "run"
End Sub
Private Sub UserForm_Activate() Label1.Caption = Hour(Now()) & " gi" & ChrW(7901) & " " & Second(Now()) & " gi" & ChrW(226) & "y " End Sub
Public k Sub gioi_click() UserForm1.Show If k = False Then k = True Call Run End Sub Sub Run() If k = True Then UserForm1.Label1.Caption = Hour(Now()) & " gi" & ChrW(7901) & " " & Second(Now()) & " gi" & ChrW(226) & "y " Application.OnTime Now + TimeValue("00:00:01"), "run" End If End Sub
Private Sub CommandButton1_Click() k = False Unload Me End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = 0 Then k = False End Sub
Thủ tục này thực hiện khi bấm chuột lên nút lệnh CommandButton1 và ghi giờ hiện tại lên Label1.xin hỏi pác nao biết code để hiện giờ trên UserForm1,em có file đính kèm dưới đây
Private Sub CommandButton1_Click()
hh = Hour(Time())
Select Case hh
Case 0 To 11
buoi = " sang"
Case 12
buoi = " chieu"
Case 13 To 17
buoi = " chieu"
hh = hh - 12
Case Else
buoi = " toi"
hh = hh - 12
End Select
hh = Format(hh, "00")
mm = Format(Minute(Time()), "00")
Label1 = hh & " gio " & mm & " phút " & buoi
End Sub
Sub Run() If k = True Then UserForm1.Label1.Caption = Hour(Now()) & " gi" & ChrW(7901) & " " & Second(Now()) & " gi" & ChrW(226) & "y " _ & WorksheetFunction.Choose(WorksheetFunction.Round(Hour(Now()) / 6, 0) + 1, "S" & ChrW(225) & "ng", "Tr" & ChrW(432) & "a", "Chi" & ChrW(7873) & "u", "T" & ChrW(7889) & "i") Application.OnTime Now + TimeValue("00:00:01"), "run" End If End Sub
Sao em thêm dòng này thì code chạy không ổn định vậy?
Thân.PHP:Sub Run() If k = True Then UserForm1.Label1.Caption = Hour(Now()) & " gi" & ChrW(7901) & " " & Second(Now()) & " gi" & ChrW(226) & "y " _ & WorksheetFunction.Choose(WorksheetFunction.Round(Hour(Now()) / 6, 0) + 1, "S" & ChrW(225) & "ng", "Tr" & ChrW(432) & "a", "Chi" & ChrW(7873) & "u", "T" & ChrW(7889) & "i") Application.OnTime Now + TimeValue("00:00:01"), "run" End If End Sub
Public k As Boolean Sub gioi_click() If k = False Then k = True Call Run UserForm1.Show End Sub Sub Run() If k = True Then UserForm1.Label1.Caption = Hour(Now()) & " gi" & ChrW(7901) & " " & Second(Now()) & " gi" & ChrW(226) & "y " _ & WorksheetFunction.Choose(WorksheetFunction.Round(Hour(Now()) / 6, 0) + 1, "S" & ChrW(225) & "ng", "Tr" & ChrW(432) & "a", "Chi" & ChrW(7873) & "u", "T" & ChrW(7889) & "i") Application.OnTime Now + TimeValue("00:00:01"), "run" End If End Sub
Private Sub CommandButton1_Click() k = False Unload Me End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = 0 Then k = False End Sub
Em viết các dòng lệnh trong sự kiện Initialize của Formnếu em làm trên menu để điều khiển UserForm thì có tên "hiengio" thì khai báo ở code đó như thế nào nhỉ! em không dùng CommandButton1 thì sẽ như thế nào Thầy Long
Private Sub UserForm_Initialize()
hh = Hour(Time())
Select Case hh
Case 0 To 11
buoi = " sang"
Case 12
buoi = " chieu"
Case 13 To 17
buoi = " chieu"
hh = hh - 12
Case Else
buoi = " toi"
hh = hh - 12
End Select
hh = Format(hh, "00")
mm = Format(Minute(Time()), "00")
Label1 = hh & " gio " & mm & " phút " & buoi
End Sub
Chúc vui. Thân.Sub Run() If k = True Then UserForm1.Label1.Caption = Time Application.OnTime Now + TimeValue("00:00:01"), "run" End If End Sub
Private Sub UserForm_Initialize()
........................
......................
.....................
Private Sub Nhapdiem_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then k5 = False
End Sub
Tôi thường làm đồng hồ Excel như sau:sao nó không chạy nhỉ!
Private Sub UserForm_Initialize()
StartTime
End Sub
Sub StartTime()
Application.OnTime Now() + TimeSerial(0, 0, 1), "MyClock"
End Sub
Sub MyClock()
hh = Hour(Time())
mm = Minute(Time())
ss = Second(Time())
MyTime.LabTime = Format(hh, "00") & " gio " & mm & " phut " & ss & " giay"
StartTime
End Sub
Sub MyClock() hh = Hour(Time()) mm = Minute(Time()) ss = Second(Time()) MyTime.LabTime = Format(hh, "00") & " gio " & mm & " phut " & ss & " giay" Application.OnTime Now() + TimeSerial(0, 0, 1), "MyClock" End Sub
Private Sub UserForm_Initialize() MyClock End Sub
Option Explicit
Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Const TimerID As Long = 111276
Dim hwnd As Long
Sub BeginTimer()
hwnd = Application.hwnd
SetTimerPro hwnd
End Sub
Sub StopTimer()
KillTimer hwnd, TimerID
End Sub
Function SetTimerPro(ByVal nHwnd As Long) As Long
SetTimerPro = SetTimer(nHwnd, TimerID, 1000, AddressOf TimePro) '1000 = 1 giay
End Function
Function TimePro(ByVal H As Long, ByVal nMSG As Long, ByVal nID As Long, ByVal nTsys As Long)
On Error Resume Next
Application.Caption = Now()
End Function