Bạn không chỉ định những gì phiên bản của Excel hay những phiên bản của Windows (hoặc Macintosh) vì vậy tôi sẽ chỉ định mà tôi đang sử dụng Excel 2010 từ Văn phòng 32-bit trên Windows 7 Ultimate 64 chút ...
Nếu bạn muốn giữ lại bảng tính của bạn mở và chạy mã tại một thời gian nhất định, sau này, sau đó thử này ..
Chèn một mô-đun mã mới vào dự án của bạn - sử dụng một mô-đun mà bạn đã có trong dự án của mình.
Tạo một chương trình con lên lịch như hình dưới đây:
Sub Scheduler()
'-- RUNS SUB(S) (OR FUNCTIONS) AT TIME SCHEDULED.
Application.OnTime TimeValue("11:46:40"), "TheScheduledSub"
End Sub
Tạo một chương trình con (hoặc chức năng) mà bạn muốn chạy. Dưới đây là một ví dụ này:
Sub TheScheduledSub()
Debug.Print "TheScheduledSub() has run at " & Time
End Sub
Scheduler()
sẽ thực hiện TheScheduledSub()
tại thời điểm chính xác định bên trong Scheduler()
, được xác định bởi TimeValue
. Bạn có thể đọc thêm về TimeValue
here.
Có thể bạn có thể chuyển giá trị thời gian mà bạn muốn trình lên lịch() để thực thi (các) hàm hoặc (các) hàm của bạn dưới dạng tham số trong phần phụ.
Có thể bạn sẽ chạy một phụ 5 giờ từ bây giờ, cho phép nói. I E. Application.OnTime Now + TimeValue ("05:00:00"), "TheScheduledSub"
hoặc có thể một ngày kể từ bây giờ? Chơi xung quanh với nó.
Tôi đã nhận được hai người đăng ký để thực thi tại các thời điểm khác nhau. Tôi cũng đã cố gắng thực hiện hai cùng một lúc. Kinh nghiệm của tôi với hai thực thi subs khác nhau cùng một lúc là phụ thứ hai dường như thực hiện trước khi đầu tiên, nhưng tôi havent khám phá đầy đủ nó. Vì vậy, YMMV.
Tôi không nghĩ rằng Excel VBA có khả năng đa luồng nên hãy ghi nhớ điều đó. Tôi đang chạy Excel 2010 32-bit từ bộ Office. Bạn không chắc cách Office Excel 64 bit hoạt động như thế nào hoặc cho bất kỳ phiên bản hoặc nền tảng nào khác.Dù sao, đa luồng/đa nhiệm Excel VBA không phải là những gì bạn yêu cầu nhưng nó sẽ được xem xét.
Xem câu hỏi này và chơi với phần trên tôi có thể nghĩ ra một vài ý tưởng mà tôi muốn thử!
này có thể giúp https://stackoverflow.com/questions/22771185/how-to-set-recurring-schedule-for-xlsm-file-using-windows-task -scheduler – Justin