Chào tất cả mọi người
có vấn đề này mong các cao nhân chỉ giúp
mình tạo 1 vòng lặp
dùng lệnh
application.wait now() + timevalue("00:00:02")
hay sleep , delay
tất cả sau khi ấn chạy thì không thể sử dụng bảng tính làm việc khác
nên xin hỏi mọi người có cách nào tương ứng như sleep , wait mà vẫn dùng được bảng tính không ah ?
để cho nó tự chạy ,sau đó mình làm việc khác được .
thêm vào đó có thể cho nó chạy trên UserForm không ah ?
rất mong nhận được sự chỉ bảo của mọi ngừoi
Chi tiết xin check file đính kèm
Xin cảm ơn
Bắt đầu từ cửa sổ desktop bạn click vào biểu tượng Excel mở ra 1 file excel chạy code
Về cửa sổ desktop bạn click vào biểu tượng Excel mở ra 1 file khác
Bắt đầu từ cửa sổ desktop bạn click vào biểu tượng Excel mở ra 1 file excel chạy code
Về cửa sổ desktop bạn click vào biểu tượng Excel mở ra 1 file khác
Không được bạn ơi
mình nhớ đọc đâu đó thầy "ndu" có bảo mấy code wait với delay nếu dùng thì không dùng được cái gì hết cho đến khi nó chạy xong thì phải .
có cách nào khắc phục được không nhỉ ?
Không được bạn ơi
mình nhớ đọc đâu đó thầy "ndu" có bảo mấy code wait với delay nếu dùng thì không dùng được cái gì hết cho đến khi nó chạy xong thì phải .
có cách nào khắc phục được không nhỉ ?
Không biết bạn thực hiện như thế nào
Tôi đã tải file của bạn về chạy code tudong vong lap và vẫn chạy bình thường
Bạn lưu ý: Mở 2 cửa sổ excel rồi thì mới bắt đầu chạy code nhé
Chứ đang chạy code thì không thể về màn hình desktop để mở cửa sổ excel đâu
Sub BatDau()
Range("A3").Value = Range("A3").Value + 1
Macro0
End Sub
Private Sub Macro0()
Range("C4:C7").Font.Color = vbWhite
Application.OnTime Now() + TimeValue("00:00:02"), "Macro1"
End Sub
Private Sub Macro1()
Range("C4").Font.Color = vbBlack
Application.OnTime Now() + TimeValue("00:00:02"), "Macro2"
End Sub
Private Sub Macro2()
Range("C5").Font.Color = vbBlack
Application.OnTime Now() + TimeValue("00:00:02"), "Macro3"
End Sub
Private Sub Macro3()
Range("C6").Font.Color = vbBlack
Application.OnTime Now() + TimeValue("00:00:02"), "Macro4"
End Sub
Private Sub Macro4()
Range("C7").Font.Color = vbBlack
If Range("A3").Value <> "" Then Application.OnTime Now() + TimeValue("00:00:02"), "BatDau"
End Sub
Sub BatDau()
Range("A3").Value = Range("A3").Value + 1
Macro0
End Sub
Private Sub Macro0()
Range("C4:C7").Font.Color = vbWhite
Application.OnTime Now() + TimeValue("00:00:02"), "Macro1"
End Sub
Private Sub Macro1()
Range("C4").Font.Color = vbBlack
Application.OnTime Now() + TimeValue("00:00:02"), "Macro2"
End Sub
Private Sub Macro2()
Range("C5").Font.Color = vbBlack
Application.OnTime Now() + TimeValue("00:00:02"), "Macro3"
End Sub
Private Sub Macro3()
Range("C6").Font.Color = vbBlack
Application.OnTime Now() + TimeValue("00:00:02"), "Macro4"
End Sub
Private Sub Macro4()
Range("C7").Font.Color = vbBlack
If Range("A3").Value <> "" Then Application.OnTime Now() + TimeValue("00:00:02"), "BatDau"
End Sub
cám ơn bạn đã giúp đỡ
code chạy tuyệt vời dù chả thấy while true hay doevnt
vấn đề wait và sleep giải quyết gọn gàng đẹp đẽ .
Tuy nhiên có 1 điểm nữa bạn có thể chỉ giúp mình được không ?
đó là mình quên không trỏ đến workbook đó
nên mở file mới là nó chạy luôn trên sheets 1 của file mới
Giờ có cách nào trỏ ngầm đến không nhỉ ?
mình trỏ đến workbook bằng cách Windows("test20200511.xlsm").Activate
tuy nhiên mở workbook khác cái nó lại tự nhảy về workbook test20200511 .
mình thao tác trên workbook khác không được .
xin cảm ơn
Sub BatDau()
Windows("test20200511.xlsm").Activate
Sheets(1).Range("A3").Value = Range("A3").Value + 1
Macro0
End Sub
Private Sub Macro0()
Windows("test20200511.xlsm").Activate
Range("C4:C7").Font.Color = vbWhite
Application.OnTime Now() + TimeValue("00:00:02"), "Macro1"
End Sub
Private Sub Macro1()
Windows("test20200511.xlsm").Activate
Range("C4").Font.Color = vbBlack
Application.OnTime Now() + TimeValue("00:00:02"), "Macro2"
End Sub
Private Sub Macro2()
Windows("test20200511.xlsm").Activate
Range("C5").Font.Color = vbBlack
Application.OnTime Now() + TimeValue("00:00:02"), "Macro3"
End Sub
Private Sub Macro3()
Windows("test20200511.xlsm").Activate
Range("C6").Font.Color = vbBlack
Application.OnTime Now() + TimeValue("00:00:02"), "Macro4"
End Sub
Private Sub Macro4()
Windows("test20200511.xlsm").Activate
Range("C7").Font.Color = vbBlack
If Range("A3").Value <> "" Then Application.OnTime Now() + TimeValue("00:00:02"), "BatDau"
End Sub
Không biết bạn thực hiện như thế nào
Tôi đã tải file của bạn về chạy code tudong vong lap và vẫn chạy bình thường
Bạn lưu ý: Mở 2 cửa sổ excel rồi thì mới bắt đầu chạy code nhé
Chứ đang chạy code thì không thể về màn hình desktop để mở cửa sổ excel đâu