Sự kiện đổi màu nền và màu chữ một một địa chỉ ô được chỉ định ?

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Nguyễn Khả Nam

Thành viên mới
Tham gia
6/6/18
Bài viết
23
Được thích
87
Chào các bạn,

Mình đang tạo một sự kiện để thay đổi màu nền và màu chữ của một ô được chỉ định, ví dụ ô B2 trong sheet1.
Tuy nhiên, mình cảm thấy code chạy chưa được mượt (vẫn còn hiện tượng giật giật), đôi lúc bị lỗi xung đột nào đó mà không rõ nguyên nhân.
Bạn nào biết cách xử lý vấn đề này có thể giúp mình được không?

Mình rất cảm ơn sự giúp đỡ của các bạn!
 

File đính kèm

  • ColorChanger.xlsm
    20 KB · Đọc: 13
Upvote 0
Upvote 0
Đừng trót sử dụng API Timer vào việc này. Tiêu khiển thế này lợi bất cập hại.
Tỉ lệ xung đột xảy ra là 90%. Khả năng sập ứng dụng bất kể khi nào.

Thử bật lên, nhấn một ô để nhập liệu.
 
Upvote 0
Thử tận dụng Events CommandBars với CommandBars_OnUpdate trong lớp xem sao.

Nếu bạn thay đổi 1 nút không sử dụng đến trong Ribbon sự kiện này sẽ được gọi. Kiểu như Enabled = Not Enabled

Bạn phải biết cách phát hiện người dùng nhấn sửa ô Excel.
 
Upvote 0
Thử tận dụng Events CommandBars với CommandBars_OnUpdate trong lớp xem sao.

Nếu bạn thay đổi 1 nút không sử dụng đến trong Ribbon sự kiện này sẽ được gọi. Kiểu như Enabled = Not Enabled

Bạn phải biết cách phát hiện người dùng nhấn sửa ô Excel.
Cảm ơn anh đã chỉ, anh có thể tạo và đính kèm file ví dụ không ?
 
Upvote 0
Bạn có thể tham khảo khởi tạo sự kiện CommandBars

PHP:
Private WithEvents cmbrs As CommandBars
Private Sub Class_Initialize()
    Set cmbrs = Application.CommandBars
End Sub
Private Sub Class_Terminate()
    Set cmbrs = Nothing
End Sub
Private Sub  DoiMau()
     ' Xác định lượng thời gian dừng, độ trễ thời gian để thực hiện đổi màu giữa mỗi nhịp
     If [Hết thời gian] Then set cmbrs = nothing
End Sub
Private Sub cmbrs_OnUpdate()
    DoiMau
    With Application.CommandBars.FindControl(id:=2040)
        .Enabled = Not .Enabled
    End With
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom