Đồng hồ trong excel

Liên hệ QC

tuan_anhbm

Thành viên thường trực
Tham gia
16/7/09
Bài viết
253
Được thích
1,605
Đầu năm mới, tôi xin gửi các bạn 2 file excel có đồng hồ CHẠY để các bạn tham khảo cho vui.
1- File thứ nhất (DongHo1.xls) tôi lấy trên diễn đàn GPE, của NDU, sau đó tùy biến 1 chút theo nhu cầu cá nhân (trong khả năng của mình).
File này có mấy cái hay:
-Khi đồng hồ chạy mình vẫn có thể làm việc;
-Cho phép ấn định thời gian xuất hiện th.báo giờ bằng cách gõ giá trị giờ vào các ô định sẵn trên bảng tính.
2- File thứ 2 (DongHo2.xls) tôi tự làm theo 1 hướng dẫn trên Internet, thấy cũng đơn giản nhưng "vận hành" rất trơn tru.
File này cũng có cái hay: Đồng hồ chỉ chạy khi file đang hiện hành, nếu chọn qua file khác thì đồng hồ đứng, như vậy sẽ tiết kiệm bộ nhớ, không ảnh hưởng tốc độ xử lý của excel khi ta làm việc khác.
*Lưu ý:
-Đồng hồ CHẠY chứ không phải đồng hồ CHẾT như khi ta sử dụng hàm NOW() nha).
-File để ngỏ không Protect, các bạn có thể xem, hiệu chỉnh, tối ưu code theo nhu cầu...
Chúc các bạn vui vẻ.
---------
Update thêm 1 file thứ 3: DongHoDemNguoc.xls
 

File đính kèm

  • DongHo1.xls
    59.5 KB · Đọc: 362
  • DongHo2.xls
    26.5 KB · Đọc: 286
  • DongHoDemNguoc.xls
    23 KB · Đọc: 138
Lần chỉnh sửa cuối:
Đầu năm mới, tôi xin gửi các bạn 2 file excel có đồng hồ CHẠY để các bạn tham khảo cho vui.
1- File thứ nhất (DongHo1.xls) tôi lấy trên diễn đàn GPE, của NDU, sau đó tùy biến 1 chút theo nhu cầu cá nhân (trong khả năng của mình).
File này có mấy cái hay:
-Khi đồng hồ chạy mình vẫn có thể làm việc;
-Cho phép ấn định thời gian xuất hiện th.báo giờ bằng cách gõ giá trị giờ vào các ô định sẵn trên bảng tính.
2- File thứ 2 (DongHo2.xls) tôi tự làm theo 1 hướng dẫn trên Internet, thấy cũng đơn giản nhưng "vận hành" rất trơn tru.
File này cũng có cái hay: Đồng hồ chỉ chạy khi file đang hiện hành, nếu chọn qua file khác thì đồng hồ đứng, như vậy sẽ tiết kiệm bộ nhớ, không ảnh hưởng tốc độ xử lý của excel khi ta làm việc khác.
*Lưu ý:
-Đồng hồ CHẠY chứ không phải đồng hồ CHẾT như khi ta sử dụng hàm NOW() nha).
-File để ngỏ không Protect, các bạn có thể xem, hiệu chỉnh, tối ưu code theo nhu cầu...
Chúc các bạn vui vẻ.
Về thuật toán thì 2 code của 2 file là hoàn toàn giống nhau bạn à! Giống ở chổ
- Dùng Ontime
- Cũng tăng "biến nhớ" theo kiểu BIẾN NHỚ = Time() + TimeValue("00:00:01")
Chẳng qua cách trình bày có khác nhau đôi chút mà thôi!
 
Thầy NDU ơi, tiện đây cho tôi hỏi thầy mấy vấn đề (vì cũng liên quan đến thời gian trong VBA nên tiện thể cho tôi hỏi nơi đây luôn nhé):
1. Dùng thủ tục nào để tạm ngưng 1 code khi nó đang chạy - trong 1 khoảng thời gian do mình ấn đinh?
2. Làm sao để khi 1 Sub đang chạy mà mình vẫn làm việc bình thường (con trỏ chuột vẫn không biến dạng thành đồng hồ cát)?

Tôi trình bày cụ thể cho NDU dễ hình dung và giúp tôi nhé:
Hôm trước tôi có tham khảo hướng dẫn làm chữ chạy trên excel (trên diễn đàn GPE) nhưng tôi thấy nó khó quá, có lẽ ngoài khả năng của tôi nên tôi ko vận dụng được. Tôi đành làm theo cách riêng, tuy "nghiệp dư" nhưng dù sao chữ cũng đã... chạy. Vấn đề còn lại là :
1. Làm sao để điều chỉnh được tốc độ của chữ khi chạy? Tôi vẫn phải dùng 1 giải pháp tạm thời để bắt code "dậm chân tại chỗ", vì chưa biết cách. Nếu được, tốt nhất đặt biến điều khiển trong 1 cell nào đó, khi cần điều chỉnh tốc độ chữ mình chỉ thay đổi giá trị này.
2. Làm sao để khi chữ đang chạy mà mình vẫn làm việc bình thường?
3. Làm sao để xì-tốp nó khi nó đang chạy?
Thầy xem file đính kèm.
Bạn nào biết chỉ giúp tôi luôn.
Thành thật cảm ơn.
------------
Hỏi nhiều thì ngại, mà ko hỏi thì bao giờ mới biết???
 

File đính kèm

  • ChuChay.xls
    28 KB · Đọc: 87
Thầy NDU ơi, tiện đây cho tôi hỏi thầy mấy vấn đề (vì cũng liên quan đến thời gian trong VBA nên tiện thể cho tôi hỏi nơi đây luôn nhé):
1. Dùng thủ tục nào để tạm ngưng 1 code khi nó đang chạy - trong 1 khoảng thời gian do mình ấn đinh?
2. Làm sao để khi 1 Sub đang chạy mà mình vẫn làm việc bình thường (con trỏ chuột vẫn không biến dạng thành đồng hồ cát)?

Tôi trình bày cụ thể cho NDU dễ hình dung và giúp tôi nhé:
Hôm trước tôi có tham khảo hướng dẫn làm chữ chạy trên excel (trên diễn đàn GPE) nhưng tôi thấy nó khó quá, có lẽ ngoài khả năng của tôi nên tôi ko vận dụng được. Tôi đành làm theo cách riêng, tuy "nghiệp dư" nhưng dù sao chữ cũng đã... chạy. Vấn đề còn lại là :
1. Làm sao để điều chỉnh được tốc độ của chữ khi chạy? Tôi vẫn phải dùng 1 giải pháp tạm thời để bắt code "dậm chân tại chỗ", vì chưa biết cách. Nếu được, tốt nhất đặt biến điều khiển trong 1 cell nào đó, khi cần điều chỉnh tốc độ chữ mình chỉ thay đổi giá trị này.
2. Làm sao để khi chữ đang chạy mà mình vẫn làm việc bình thường?
3. Làm sao để xì-tốp nó khi nó đang chạy?
Thầy xem file đính kèm.
Bạn nào biết chỉ giúp tôi luôn.
Thành thật cảm ơn.
------------
Hỏi nhiều thì ngại, mà ko hỏi thì bao giờ mới biết???
Bạn xem file này của Hai2Hai, theo tôi là khá hoàn thiện đấy:
http://www.giaiphapexcel.com/forum/showthread.php?t=545
 
Vì tác giả cần LÀM VIỆC ĐƯỢC trong khi đồng hồ vẫn chạy!
Em thấy file của sư phụ hình như chưa ổn: Khi cái Equalizer ấy đang chạy, nếu ta gõ gì đó vào 1 cell thì nó... ngừng luôn

Cho nên anh chỉ khoe "Run, Stop, và thay đổi Speed", đâu có khoe "làm việc được" đâu.
Làm việc được thì có 1 file mẫu "Game Trúc xanh" version cuối (đồng hồ đếm ngược), nhưng file đó code nhiều như đám rừng, sợ tác giả tìm hông ra. Mình tìm còn hông ra nữa là.
 
Lần chỉnh sửa cuối:
Chào thầy NDU và các bạn,
Về các vấn đề tôi hỏi ở bài trước: Sau khi tham khảo, mò mẫm... hôm nay tôi đã tiến thêm 1 bước:
- Đã điều khiển được tốc độ chữ chạy theo thời gian (đặt biến trong 1 cell, điều khiển tốc độ bằng cách thay đổi giá trị trong cell này);
- Đã có thể làm việc khi chữ chạy.
Hiện chỉ có thể làm việc trên sheet khác, file khác, còn trên sheet chứa chữ chạy thì chưa.
Update:
Nếu trong "ThisWorkbook" - thay tên Sub:
Private Sub Workbook_Activate() bởi:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
thì có thể làm việc cả trên sheet chứa chữ đang chạy!
Trước mắt như vậy làm tạm ổn rồi.
Mã:
[COLOR=black]Sub ChuChay()[/COLOR]
[COLOR=black]Dim PauseTime, Start[/COLOR]
[COLOR=black]ThisWorkbook.Sheets(1).Range("A1") = ThisWorkbook.Sheets(1).Range("A6")[/COLOR]
[COLOR=black]Do While ActiveSheet.Name = "ChuChay"[/COLOR]
[COLOR=black]ThisWorkbook.Sheets(1).Range("A2") = Evaluate("=LEFT(A1,1)")[/COLOR]
[COLOR=black]ThisWorkbook.Sheets(1).Range("A3") = Evaluate("=RIGHT(A1, LEN(A1)-1)")[/COLOR]
[COLOR=black]ThisWorkbook.Sheets(1).Range("A4") = ThisWorkbook.Sheets(1).Range("A3") & ThisWorkbook.Sheets(1).Range("A2")[/COLOR]
[COLOR=black]ThisWorkbook.Sheets(1).Range("A1") = ThisWorkbook.Sheets(1).Range("A4")[/COLOR]
[COLOR=navy]'Dieu khien toc do code:[/COLOR]
[COLOR=black]PauseTime = ThisWorkbook.Sheets(1).Range("A5")[/COLOR]
[COLOR=black]Start = Timer[/COLOR]
[COLOR=black]Do While Timer < Start + PauseTime[/COLOR]
[COLOR=black]DoEvents[/COLOR]
[COLOR=black]Loop[/COLOR]
[COLOR=black]Loop[/COLOR]
[COLOR=black]End Sub[/COLOR]
Các bạn xem thấy có gì chưa được thì góp ý cho tôi nhé (cụ thể trong file đính kèm).
----------
Còn 1 vấn đề tôi muốn được giúp đỡ để học hỏi và hoàn thiện file:
- Làm sao để dừng chạy khi chữ đang chạy?
--------------
Cảm ơn các bạn, hôm nay mình đã làm được rồi:
 

File đính kèm

  • ChuChay(2).xls
    39 KB · Đọc: 83
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom