Tạo chuông báo giờ trong Excel

Liên hệ QC

hoankha

Thành viên mới
Tham gia
17/6/09
Bài viết
12
Được thích
0
Có cách nào tạo chuông báo giờ trong Excel khong chỉ mình với
Chẳn hạn làm chuông báo cơm. 8g vào 12g ăn cơm nghĩ tới 13 giờ vào và 5g về.
Làm đc đồng hồ chắt các bác làm cái này đc thôi.
 
Bạn làm thử:
1/Chọn sự kiện Worksheet_Activate của sheet1 bạn nạp code:
Mã:
Private Sub Worksheet_Activate()
Application.OnTime Now + TimeValue("00:00:3"), "tbao"     ' [COLOR=Green]3 giây sau có vấn đề[/COLOR]
End Sub
2/ Bạn Insert 1 Module rồi thêm code:
Mã:
Sub tbao()
Beep
MsgBox "Moi ban an com"
End Sub
Trở về bảng tính chọn sheet bất kỳ, rồi trở về sheet1 (Khởi động sự kiện Worksheet_Activate) đợi 3 giây sau sẽ có kết quả.Lưu ý là file này phải mở liên tục nếu không đến tối mới được ăn cơm đấy.
Để thành 4 giờ sau chắc bạn làm được và bạn chuyển sang sự kiện Workbook_Open.Bạn tìm bài của AnhTuan1066 hướng dẫn phát 1 bản nhạc cho khí thế. Chúc bạn thành công.
 
Lần chỉnh sửa cuối:
Bạn làm thử:
1/Chọn sự kiện Worksheet_Activate của sheet1 bạn nạp code:
Mã:
Private Sub Worksheet_Activate()
Application.OnTime Now + TimeValue("00:00:3"), "tbao"     ' [COLOR=Green]3 giây sau có vấn đề[/COLOR]
End Sub
2/ Bạn Insert 1 Module rồi thêm code:
Mã:
Sub tbao()
Beep
MsgBox "Moi ban an com"
End Sub
Trở về bảng tính chọn sheet bất kỳ, rồi trở về sheet1 (Khởi động sự kiện Worksheet_Activate) đợi 3 giây sau sẽ có kết quả.Lưu ý là file này phải mở liên tục nếu không đến tối mới được ăn cơm đấy.
Để thành 4 giờ sau chắc bạn làm được và bạn chuyển sang sự kiện Workbook_Open.Bạn tìm bài của AnhTuan1066 hướng dẫn phát 1 bản nhạc cho khí thế. Chúc bạn thành công.
Dùng cách này thì trước giờ cơm 3 giây thì phải mở file excel này lên đúng ko nhỉ? Vậy ai sẽ báo cho bạn trước 3 giây để bạn mở file excel này lên?
 
Sao 1 cao thủ như bạn lại có câu hỏi vậy nhỉ?
Ở đây, mình test 3 giây thực hiện yêu cầu và mình tin bạn ấy dư sức làm 4 giờ sau báo cơm, báo nghỉ. Nói tóm lại, mình chỉ gợi ý chiêu mình biết thôi, bạn ấy mày mò 1 chút hy vọng nhớ dai hơn.
Lẽ nào bạn lại chịu trước 3 giây mở file.

P/s: Hoankha lưu ý bạn đặt như sau:

Application.OnTime TimeValue("12:00:00"), "tbao"
 
Lần chỉnh sửa cuối:
Sao 1 cao thủ như bạn lại có câu hỏi vậy nhỉ?
Ở đây, mình test 3 giây thực hiện yêu cầu và mình tin bạn ấy dư sức làm 4 giờ sau báo cơm, báo nghỉ. Nói tóm lại, mình chỉ gợi ý chiêu mình biết thôi, bạn ấy mày mò 1 chút hy vọng nhớ dai hơn
Lẽ nào bạn lại chịu trước 3 giây mở file.
Tôi lấy 3 giây là muốn ví dụ vậy thôi, cái mà tôi muốn nói đến là dù có 4giờ hay 24 giờ đi nữa, thì trước đó 4 giờ hay 24 giờ (1 khoảng thời gian xác định), bạn phải kích hoạt cái sự kiện này của bạn lên, vậy thì ai sẽ nhắc nhở bạn cái thời điểm để bạn kích hoạt sự kiện này lên? Nếu bạn cứ nhăm nhăm nhớ cái thời điểm để kích hoạt sự kiện này lên thì chẳng thà bạn nhớ luôn đến cái giờ cơm và đứng dậy báo chuông bằng cái máy chạy bằng "CƠM" cho nó xong. Ý nghĩa của cái Reminder là khi tôi tạo ra nó tại bất kỳ 1 thời điểm nào đó và muốn đến 1 thời gian xác định nào đó nó sẽ báo cho tôi biết. Còn cái của bạn là khi tôi muốn đến 1 thời gian xác định nào đó nó sẽ báo cho tôi biết, thì đến trước đó 1 khoảng thời gian xác định, tôi sẽ phải nhớ để tạo ra nó, bạn nghĩ xem nó có ý nghĩa không?
 
Cái vụ báo động này mà dùng Excel thì không đúng lắm (không phải là không được) ---> Chuyên nghiệp, người ta sẽ dùng 1 MÁY BÁO GIỜ, có tiếng nói luôn
Ngày, giờ tự bạn cài đặt vào, đến giờ nó sẽ phát tiếng nói (tiếng nói này cũng do ta tự cài vào)
Nếu đơn giản, tôi nghĩ dùng Scheduled Task (1 công cụ của Windows) là thích hợp nhất
 
Ồh!! thế là không được hã!
ý mình muốn tạo chuông báo thức tương tự như ĐT vậy,
khi khởi động file là cứ đến giờ đó là nó báo chứ không cần phải tính sau mấy giờ thì nó báo cả vì không phải lúc nào mình cũng mỡ file vào đúng giờ dó. chẳn hạn như cái đồng hồ trong Excel đó cứ mở lên là nó chạy đúng theo giờ hệ thống Àh!!
 
Ồh!! thế là không được hã!
ý mình muốn tạo chuông báo thức tương tự như ĐT vậy,
khi khởi động file là cứ đến giờ đó là nó báo chứ không cần phải tính sau mấy giờ thì nó báo cả vì không phải lúc nào mình cũng mỡ file vào đúng giờ dó. chẳn hạn như cái đồng hồ trong Excel đó cứ mở lên là nó chạy đúng theo giờ hệ thống Àh!!

Nếu không có những phần mềm chuyên nghiệp, trong bộ Microsoft Office có phần mềm Microsoft Outlook rất tiện ích cho việc nhắc nhở trong phần Calendar.
 
Ồh!! thế là không được hã!
ý mình muốn tạo chuông báo thức tương tự như ĐT vậy,
khi khởi động file là cứ đến giờ đó là nó báo chứ không cần phải tính sau mấy giờ thì nó báo cả vì không phải lúc nào mình cũng mỡ file vào đúng giờ dó. chẳn hạn như cái đồng hồ trong Excel đó cứ mở lên là nó chạy đúng theo giờ hệ thống Àh!!
Không phải là không được! Có điều dùng Excel để Alarm thì không hợp cho lắm
Nếu bạn muốn, tôi gữi bạn code này
PHP:
Option Explicit
Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
Dim CountDown As Double
PHP:
Sub Chay()
  CountDown = Now + TimeValue("00:00:01")
  Application.OnTime CountDown, "Reset"
End Sub
PHP:
Sub Reset()
  Range("J3:R3").Value = Int(Hour(Now) / 10)
  Range("U3:AC3").Value = Hour(Now) Mod 10
  Range("AJ3:AR3").Value = Int(Minute(Now) / 10)
  Range("AU3:BC3").Value = Minute(Now) Mod 10
  Range("BJ3:BR3").Value = Int(Second(Now) / 10)
  Range("BU3:CC3").Value = Second(Now) Mod 10
  Call Chay
  If Format(Now, "hh:mm:ss") = Format([CQ31], "hh:mm:ss") Then Alarm "Play"
  If Format(Now, "hh:mm:ss") = Format([CQ32], "hh:mm:ss") Then Alarm "Stop"
End Sub
PHP:
Sub Dung()
  On Error Resume Next
  Application.OnTime CountDown, "Reset", , False
End Sub
PHP:
Sub Alarm(Check As String)
  mciExecute Check & " C:\WINDOWS\Media\flourish.mid"
End Sub
PHP:
Private Sub Workbook_Open()
  Chay
End Sub
Code dựa vào file đồng hồ tại đây:
http://www.giaiphapexcel.com/forum/showpost.php?p=181332&postcount=17
Lưu ý: Gõ giờ khởi động vào cell CQ31 ---> Đúng giờ này thì âm thanh sẽ phát ra, sau 15 giây, tự nó sẽ dừng (con số 15 giây dựa vào công thức tại cell CQ32, bạn có thể chỉnh lại bao nhiêu tùy ý)
 

File đính kèm

  • Clock_And_Alarm.xls
    33.5 KB · Đọc: 384
Không phải là không được! Có điều dùng Excel để Alarm thì không hợp cho lắm
Code dựa vào file đồng hồ tại đây:
http://www.giaiphapexcel.com/forum/showpost.php?p=181332&postcount=17
Lưu ý: Gõ giờ khởi động vào cell CQ31 ---> Đúng giờ này thì âm thanh sẽ phát ra, sau 15 giây, tự nó sẽ dừng (con số 15 giây dựa vào công thức tại cell CQ32, bạn có thể chỉnh lại bao nhiêu tùy ý)

Quá hay! Cái hay ở đây là dùng các Cells thu nhỏ với 2 màu trắng, đen luân phiên nhau tạo ra số!
Xin cảm ơn!
 
Quá hay! Cái hay ở đây là dùng các Cells thu nhỏ với 2 màu trắng, đen luân phiên nhau tạo ra số!
Xin cảm ơn!
Chú ý dòng số 3 trong khu vực đồng hồ và công thức trong Conditional Formating nhé
Code trong VBA sẽ gán số vào khu vực đồng hồ tại dòng số 3 ---> Sau đó dùng Conditional Format tạo ra Led 7 đoạn
Thấy hoành tráng thế chứ cực kỳ đơn giản (bảo đảm bạn thừa sức làm file này)
 
Chết rồi mở file báo thức là nó chạy luôn hết những file khác đang mở luôn kiểu này là dl di hết quá
 
Chết rồi mở file báo thức là nó chạy luôn hết những file khác đang mở luôn kiểu này là dl di hết quá
Trời ơi... file gợi ý... bạn chạy nhiều file cùng 1 lúc thì phải biết chỉnh lại code chứ
Chổ nào có chử Range(...) thì sửa lại thành ThisWorkbook.Sheets(1).Range(...)
Cụ thế, tại Sub Reset, bạn sửa lại thành:
PHP:
Sub Reset()
  ThisWorkbook.Sheets(1).Range("J3:R3").Value = Int(Hour(Now) / 10)
  ThisWorkbook.Sheets(1).Range("U3:AC3").Value = Hour(Now) Mod 10
  ThisWorkbook.Sheets(1).Range("AJ3:AR3").Value = Int(Minute(Now) / 10)
  ThisWorkbook.Sheets(1).Range("AU3:BC3").Value = Minute(Now) Mod 10
  ThisWorkbook.Sheets(1).Range("BJ3:BR3").Value = Int(Second(Now) / 10)
  ThisWorkbook.Sheets(1).Range("BU3:CC3").Value = Second(Now) Mod 10
  Call Chay
  If Format(Now, "hh:mm:ss") = Format(ThisWorkbook.Sheets(1).[CQ31], "hh:mm:ss") Then Alarm "Play"
  If Format(Now, "hh:mm:ss") = Format(ThisWorkbook.Sheets(1).[CQ32], "hh:mm:ss") Then Alarm "Stop"
End Sub
Là OK ngay!
Xài của người khác nhưng không biết tí gì về VBA nên không biết tùy biến là khổ thế đấy!
 

File đính kèm

  • Clock_And_Alarm.xls
    36 KB · Đọc: 114
Lần chỉnh sửa cuối:
Trời ơi... file gợi ý... bạn chạy nhiều file cùng 1 lúc thì phải biết chỉnh lại code chứ
Chổ nào có chử Range(...) thì sửa lại thành ThisWorkbook.Sheets(1).Range(...)
Cụ thế, tại Sub Reset, bạn sửa lại thành:
PHP:
Sub Reset()
  ThisWorkbook.Sheets(1).Range("J3:R3").Value = Int(Hour(Now) / 10)
  ThisWorkbook.Sheets(1).Range("U3:AC3").Value = Hour(Now) Mod 10
  ThisWorkbook.Sheets(1).Range("AJ3:AR3").Value = Int(Minute(Now) / 10)
  ThisWorkbook.Sheets(1).Range("AU3:BC3").Value = Minute(Now) Mod 10
  ThisWorkbook.Sheets(1).Range("BJ3:BR3").Value = Int(Second(Now) / 10)
  ThisWorkbook.Sheets(1).Range("BU3:CC3").Value = Second(Now) Mod 10
  Call Chay
  If Format(Now, "hh:mm:ss") = Format(ThisWorkbook.Sheets(1).[CQ31], "hh:mm:ss") Then Alarm "Play"
  If Format(Now, "hh:mm:ss") = Format(ThisWorkbook.Sheets(1).[CQ32], "hh:mm:ss") Then Alarm "Stop"
End Sub
Là OK ngay!
Xài của người khác nhưng không biết tí gì về VBA nên không biết tùy biến là khổ thế đấy!
Code của anh, đoạn này
Mã:
Sub Alarm(Check As String)
  mciExecute Check & " C:\WINDOWS\Media\flourish.mid"
End Sub
thay thế bằng
Mã:
Sub Alarm(Check As String)
  mciExecute Check & " E:\My Music\Boney\Little Drummer Boy.mp3"
End Sub
Khi đến giờ phát nhạc thì nó báo lỗi
"the specified device is not open or is not recognized by MCI"
Vậy cho em hỏi cần fải sửa code như thế nào ạ. Em cảm ơn
 
Code của anh, đoạn này
Mã:
Sub Alarm(Check As String)
  mciExecute Check & " C:\WINDOWS\Media\flourish.mid"
End Sub
thay thế bằng
Mã:
Sub Alarm(Check As String)
  mciExecute Check & " E:\My Music\Boney\Little Drummer Boy.mp3"
End Sub
Khi đến giờ phát nhạc thì nó báo lỗi
"the specified device is not open or is not recognized by MCI"
Vậy cho em hỏi cần fải sửa code như thế nào ạ. Em cảm ơn

Đương nhiên lỗi rồi. Bởi code ấy không thiết kế cho việc phát nhạc mp3
 
Em thấy file có sẵn ở bài #14 rồi mà anh
 
muốn làm nhiều mức chuông báo thì như nào các bác
 
Web KT
Back
Top Bottom