Con trỏ về vị trí xuất phát

Liên hệ QC

Duong gia

Thành viên thường trực
Tham gia
15/1/07
Bài viết
352
Được thích
118
Chào các bác là thế nào con trỏ quay về vị trí ban đầu sau khi click chọn đối trượng. Mong các bác giúp đỡ. Xin mở file đính kèm (file có ghi chi tiết yêu cầu ). Thanks
 

File đính kèm

Lần chỉnh sửa cuối:
Trời... Ai biểu trong code có dòng Range("E1").Select làm chi... Nên con trỏ nhảy đến E1 là đúng rồi
Thay vì làm vậy sau bạn không sửa code lại thành:
PHP:
Private Sub O1_Click()
    On Error Resume Next
    Application.ScreenUpdating = False
    If Me.O1 Then Sheet1.[E1] = "156"
    Application.ScreenUpdating = True
End Sub

Private Sub O2_Click()
    On Error Resume Next
    Application.ScreenUpdating = False
    If Me.O2 Then Sheet1.[E1] = "511"
    Application.ScreenUpdating = True
End Sub
Code viết quá thừa có khi cũng không phải là điều tốt! (đâu cứ phải select E1 thì mới có thể gán giá trị được)
 
Upvote 0
Và khi nhập số vô ô E1 tại sao cần "bịt mắt" làm chi vậy cà. Nếu cần thì đổi qua "tính số tay" (manual calculation) để XL chạy nhanh hơn.
 
Upvote 0
ndu96081631 thân! Bạn đã rút gọn code, nhưng có thể nhầm vị trí xuất phát. Xuất phát là ta nhấn đúp chuột phải tại ô A10 cơ mà. Theo mình để trở về ta phải viết như sau cơ:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then
Cancel = True
Call UserForm1.Show

Target.select
End If
End Sub

 
Upvote 0
ndu96081631 thân! Bạn đã rút gọn code, nhưng có thể nhầm vị trí xuất phát. Xuất phát là ta nhấn đúp chuột phải tại ô A10 cơ mà. Theo mình để trở về ta phải viết như sau cơ:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then
Cancel = True
Call UserForm1.Show

Target.select
End If
End Sub

Tức là thế này anh ơi: Nếu không đi thì không cần phải về, đúng không?
Anh Click phải vào A10 thì khi gọi UserForms ra, làm tùm lum mọi việc, con trỏ nó vẩn ở tại A10 thôi, có dịch chuyển Target đi đâu mà cần phải Target.Select
Và khi nhập số vô ô E1 tại sao cần "bịt mắt" làm chi vậy cà. Nếu cần thì đổi qua "tính số tay" (manual calculation) để XL chạy nhanh hơn.
Sư phụ dùng từ "bịt mắt" nghe buồn cười quá đi mất... nhưng cũng.. có lý lắm!
 
Lần chỉnh sửa cuối:
Upvote 0
Ndu ơi,

Không dám là sư phụ của ai đâu bạn à. Khi viết lập trình xong, ngày hôm sau đọc lại code khám phá mình tràng gian đại hải quá chừng chừng. Nên khi đọc code người khác viết thấy dài hơn cần thiết có chút ỳ kiến cho vui vậy mà. :-)
 
Upvote 0
ndu96081631 à, đúng là không di chuyển thì khỏi phải về, nhưng nó chỉ đúng trong ví dụ này, nếu trong thân code thực sự của bạn ấy mà có lệnh select hoặc active 1 vùng nào đó thì thôi rồi. Tốt nhất là bắt nó phải về còn nó ở đó rồi thì chẳng sao. Ý kiến vậy thôi, thông cảm nha.
 
Upvote 0
Web KT

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

Back
Top Bottom