Tự động ngưng khi trùng thời gian (1 người xem)

  • Thread starter Thread starter anktdn
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

anktdn

Thành viên chính thức
Tham gia
18/6/06
Bài viết
72
Được thích
77
Nghề nghiệp
acc
Xin các Pác chỉ giúp thêm Code khi thời gian định sẵn ở ô B3 trùng với thời gian đang chạy ở ô B2 (theo hh:mm:ss) thì đồng hồ sẽ tự động ngưng.
 

File đính kèm

Trong module của bạn có sẵn Sub Stopt(), chỉ cần nhét nó vào 1 chỗ thích hợp:
[highlight=vb]Sub StartTimer()
RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds)
Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, _
schedule:=True
Stopt
End Sub[/highlight]
 
Upvote 0
Trong module của bạn có sẵn Sub Stopt(), chỉ cần nhét nó vào 1 chỗ thích hợp:
[highlight=vb]Sub StartTimer()
RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds)
Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, _
schedule:=True
Stopt
End Sub[/highlight]

Vâng em tạo ra sub Stopt nhưng đặt ở This Wokbook không thấy đụng đậy gì cả. thanks
 
Upvote 0
Mình không biết bạn có cách nào để đưa khóa lệnh Stop theo yêu cầu. Nhưng mình có thể dùng chức năng Sleep của kernel32 để thực hiện việc này 1 cách dễ dàng. Code Sheet1:
PHP:
Private Sub CommandButton1_Click() If CommandButton1.Caption = "Start Clock" And [B2] < [B3] Then CommandButton1.Caption = "Stop Clock" Start Else CommandButton1.Caption = "Start Clock" End If End Sub
Module:
PHP:
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub Start() Dim i As Long For i = 1 To 100     If ([B2].Value - [B3].Value) < TimeValue("00:00:00") Then         [B2].Value = [B2].Value + TimeValue("00:00:01")         Sleep (960)         DoEvents     Else        Sheet1.CommandButton1.Caption = "Start Clock"     End If Next If i = 100 Then Call Start End If End Sub
File: http://www.mediafire.com/?2m4todhyyne Thân.
 
Lần chỉnh sửa cuối:
Upvote 0
Sau khi mình sữa code Sub Stoptimer cho ô B2 về 0;0;0
PHP:
Sub StopTimer()
  On Error Resume Next
  Application.OnTime earliesttime:=RunWhen, _
      procedure:=cRunWhat, schedule:=False
      Range("B2") = TimeSerial(0, 0, 0)
      Sheets("Sheet1").Protect
Và đặt điều kiện cho sub Stopt
PHP:
Sub Stopt()
If Range("B2").Value = Range("B3").Value Then
Call StopTimer
 MsgBox " da Ket thuc!", vbExclamation, Title:=" TEST"
End If
  End Sub
gọi lệnh Call Stopt ở Sub Starttimer thì kết quả như yêu cầu.
thanks all
 
Upvote 0
Nhân tiện xin hỏi các bạn: ví dụ, tôi muốn cứ đến 10 giờ sáng thì tập tin Excel của tôi thực hiện một macro thì làm sao? (tập tin của tôi mở liên tục)
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom