Tắt phím ctrl trong excel

  • Thread starter Thread starter YêuCN
  • Ngày gửi Ngày gửi
Liên hệ QC

YêuCN

Thành viên thường trực
Tham gia
17/7/19
Bài viết
380
Được thích
142
Em muốn chỉ tắt một phím Ctrl trong excel bằng vba có được không ạ em đã thử với onkey nhưng không thành công Application.OnKey "^".
Mong được học hỏi với câu trả lời như ý !
 
Em muốn chỉ tắt một phím Ctrl trong excel bằng vba có được không ạ em đã thử với onkey nhưng không thành công Application.OnKey "^".
Mong được học hỏi với câu trả lời như ý !
Nếu phím tắt chỉ có phím Ctrl không đi kèm 1 ký tự khác, chắc là không được đâu bạn!
 
Upvote 0
Em muốn chỉ tắt một phím Ctrl trong excel bằng vba có được không ạ em đã thử với onkey nhưng không thành công Application.OnKey "^".
Mong được học hỏi với câu trả lời như ý !
Không cần phải tắt, vì bấm 1 phím Ctrl trong excel không có tác dụng gì (hay nói khác nó đang tắt đó thôi)
 
Upvote 0
Nếu nó ở form thì có thể dùng sự kiện keydown. Nhưng ở Sheet thì chỉ có thể dùng Application.OnKey. Mà cách này thì rất trâu bò.

Private Const KLIST_CTL = "a|b|c|....." ' tất cả những ctl cần

Sub ctrlDisable() ' chặn các thao tác phím control
Dim x
For each x In Split(KLIST_CTL, "|")
Application.OnKey "^{" & x & "}", ""
Application.OnKey "^%{" & x & "}", "" ' nếu muốn chặn luôn cả ctrl+alt thì thêm dòng này
Application.OnKey "^+{" & x & "}", "" ' nếu muốn chặn luôn cả ctrl+shift thì thêm dòng này
Next x
End Sub

Sub ctrlEnable() ' mở lại các thao tác phím ctrl đã chặn ở trên
Dim x
For each x In Split(KLIST_CTL, "|")
Application.OnKey "^{" & x & "}"
Application.OnKey "^%{" & x & "}" ' nếu đã chặn luôn cả ctrl+alt thì thêm dòng này
Application.OnKey "^+{" & x & "}" ' nếu đã chặn luôn cả ctrl+shift thì thêm dòng này
Next x
End Sub

Chú: tôi chỉ mách cho cách làm thôi. Đã chơi trò bày biện thì phải tự biết tìm hiểu về tầm vực của đối tượng Application và các phuonwg thức của nó. Không nắm vững thì bị kết quả bất ngờ ráng chịu.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom