Chuột chạy tự chạy về một ô cố định

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

Nhật Anh 9x

Thành viên chính thức
Tham gia
21/10/22
Bài viết
72
Được thích
3
Thưa anh chị

Em có một vấn đề như sau muốn nhờ anh chị giúp ạ!

Sau khi em chạy xong một thẻ kho khoảng 2542 dòng để dữ liệu vào, em dùng 1 vòng lặp để kiểm tra tồn cuối (cột J) xem có bị âm thời điểm không ?

For i = 15 To 2542
If sh2.Range("J" & i).Value < 0 Then
Dim giatri As Integer
giatri = MsgBox("Phat hien am thoi diem. Neu tiep tuc chon Ok. Neu muon sua am thoi diem thi chon Cancel", vbInformation + vbOKCancel, _
"Kiem Tra Am Thoi Diem")
If giatri = vbOK Then
MsgBox " Tiep tuc"
Else

vị trí cần hỏi ?

Exit Sub
End If
End If
Next i

ý em ở đây là nếu phát hiện âm thời điểm mình sẽ có 2 phương án một là chọn ok để tiếp tục chạy, hai là chọn cancel để dừng lại đúng điểm bị âm
Với trường hợp em chọn cancel, em đang muốn là trỏ chuột sẽ chạy đúng vị trí bị âm đó dù chuột đang ở chỗ nào. Vậy anh chị nào biết thì chỉ giúp em với ạ

1678608248614.png
 
Thì kích hoạt cái cell đó thôi:
sh2.Range("J" & i).Activate
 
Upvote 0
Bạn nên sử dụng phương thức Application.Goto để đi đến Ô có giá trị âm đã tìm được.
Application.Goto sh2.Range("J" & i), True
 
Upvote 0
Thì kích hoạt cái cell đó thôi:
sh2.Range("J" & i).Ac

Thì kích hoạt cái cell đó thôi:
sh2.Range("J" & i).Activate
em cảm ơn, nhưng cách này chưa được như ý em muốn ạ
Bài đã được tự động gộp:

Bạn nên sử dụng phương thức Application.Goto để đi đến Ô có giá trị âm đã tìm được.
Application.Goto sh2.Range("J" & i), True
Em cảm ơn anh, cách này ok rồi anh ạ!
 
Upvote 0
Một cách khác không dùng vòng lặp, mà dùng hàm MATCH để tìm vị trí dòng <0
Nếu có vài ngàn dòng thì code này sẽ nhanh hơn việc loop từng dòng
PHP:
Dim m&
sh2.Activate
m = Evaluate("=IFERROR(MATCH(TRUE,INDEX(J15:J2542<0,0),0),0)") ' tim vi tri o <0 trong cot J
If m = 0 Then Exit Sub ' neu khong co gia tri am thi thoat
Select Case MsgBox("Phat hien am thoi diem. Neu tiep tuc chon Ok. Neu muon sua am thoi diem thi chon Cancel", _
vbInformation + vbOKCancel, "Kiem Tra Am Thoi Diem")
    Case vbOK: MsgBox " Tiep tuc"
    Case Else: Application.Goto Cells(m + 14, "J")
End Select
 
Upvote 0
Web KT

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

Back
Top Bottom