lỗi code kiểm tra (1 người xem)

Người dùng đang xem chủ đề này

kimboiquetoi

Thành viên chính thức
Tham gia
7/11/15
Bài viết
99
Được thích
3
Nghề nghiệp
Tự do
Sub ktkho2_Click()
With Sheet26
If .Range("d" & 5) < 0 Or .Range("d" & 6) < 0 Or .Range("d" & 7) < 0 Or .Range("d" & 8) < 0 Or .Range("d" & 9) < 0 Or .Range("d" & 10) < 0 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten12") & """,2)")
Else
Sheets("td2").Select
End If
End With
End Sub


em có đoạn code này nếu mà cứ làm như hàng bôi đỏ thì đến D3000 sẽ rất lâu ai có cách nào chọn từ D5 đến D3000 không ạ, em quên mất
có phải như kiểu Range(D5:D3000) < 0 không ạ em làm nhưng ko được mong mọi ngưởi sửa giúp đoạn code trên ạ
 
Bạn có thể dùng vòng lặp For-Next để duyệt từ 5 đến 3000. Nếu gặp giá trị nào <0 thì thoát khỏi vòng For.
Mã:
For i = 5 to 3000
  if cells(i,4) < 0 then
   lệnh cần thực hiện
   Exit For
End if

Ngoài ra thay vì viết Range("d" & 5) bạn có thể viết gọn thành Range("D5")
 
Lần chỉnh sửa cuối:
Bạn làm vầy:
PHP:
If Application.Min(.Range("D5:D3000").Value2) < 0 Then
 
rất cảm ơn các bác đã giải quyết xong như bác If Application.Min(.Range("D5:D3000").Value2) <= 0 Then
 
Sub ktkho2_Click()
With Sheet26
If .Range("d" & 5) < 0 Or .Range("d" & 6) < 0 Or .Range("d" & 7) < 0 Or .Range("d" & 8) < 0 Or .Range("d" & 9) < 0 Or .Range("d" & 10) < 0 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten12") & """,2)")
Else
Sheets("td2").Select
End If
End With
End Sub


em có đoạn code này nếu mà cứ làm như hàng bôi đỏ thì đến D3000 sẽ rất lâu ai có cách nào chọn từ D5 đến D3000 không ạ, em quên mất
có phải như kiểu Range(D5:D3000) < 0 không ạ em làm nhưng ko được mong mọi ngưởi sửa giúp đoạn code trên ạ

Có muốn làm như hàng bôi xanh cũng hổng được. Hàm If chỉ Or được vài chục lần gì đó, dài hơn nữa VBA parser nó hết ngăn xếp, tự đọng phản đối.

IF Application.CountIf(Range("D5:D3000"), "<0") > 0 Then
 

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

Back
Top Bottom