Bắt lỗi trong vòng lặp

Liên hệ QC

holychelsea

Thành viên mới
Tham gia
16/10/16
Bài viết
25
Được thích
2
Các bác cho em hỏi có cách nào để em bắt lỗi trong vòng lặp For như dưới đây ko, em đã thử nhiều cách vẫn ko được. Đoạn lỗi khúc màu đỏ nha các bác. Cám ơn các bác.




Workbooks("TONG HOP GIO CONG NHAN THANG " & thang & ".xlsx").Activate
Sheets(1).Select
a = Cells.Find("V" & ChrW(431) & ChrW(7900) & "N " & ChrW(431) & ChrW(416) & "M").Row
e = Cells.Find("H" & ChrW(7871) & "t").Row
f = Range("d6:ai6").Find(ngay).Column
For i = a + 1 To e - 1 Step 1
If Cells(i, 2) <> "" Then

g = Cells(i, 2).Value
Workbooks("TONG HOP CONG " & ngay & "." & thang & ".xlsx").Activate
Sheets(3).Select
h = Cells.Find(g, LookIn:=xlValues).Row
If Err.Number <> 0 Then
j = 0
Err.Clear
End If
j = Cells(h, 8).Value
Workbooks("TONG HOP GIO CONG NHAN THANG " & thang & ".xlsx").Activate
Sheets(1).Select
Cells(i, f) = j

End If
Next i

1601715300777.png
 
Bạn cần xem lại cách xài phương thức FIND();
Khuyên bạn viết theo chuẩn trước đã:
Dim Rng As Range, sRng As Range

Set Rng=Range("A1:F999")
Set Srng=Rng.Find( "H" & ChrW(7871) & "t" ,,"XlFormulas,xlPart)
If Not sRng Is Nothing Then
GPE = sRng.Row

Khi tìm 1 trị ngày-tháng-năm cụ thể thì viết như mình cũng còn ẩn chứa sai sót chứ viết như bạn sẽ là tai họa lớn!
 
Upvote 0
Các bác cho em hỏi có cách nào để em bắt lỗi trong vòng lặp For như dưới đây ko, em đã thử nhiều cách vẫn ko được. Đoạn lỗi khúc màu đỏ nha các bác. Cám ơn các bác.




Workbooks("TONG HOP GIO CONG NHAN THANG " & thang & ".xlsx").Activate
Sheets(1).Select
a = Cells.Find("V" & ChrW(431) & ChrW(7900) & "N " & ChrW(431) & ChrW(416) & "M").Row
e = Cells.Find("H" & ChrW(7871) & "t").Row
f = Range("d6:ai6").Find(ngay).Column
For i = a + 1 To e - 1 Step 1
If Cells(i, 2) <> "" Then

g = Cells(i, 2).Value
Workbooks("TONG HOP CONG " & ngay & "." & thang & ".xlsx").Activate
Sheets(3).Select
h = Cells.Find(g, LookIn:=xlValues).Row
If Err.Number <> 0 Then
j = 0
Err.Clear
End If
j = Cells(h, 8).Value
Workbooks("TONG HOP GIO CONG NHAN THANG " & thang & ".xlsx").Activate
Sheets(1).Select
Cells(i, f) = j

End If
Next i

View attachment 246690
- Trước mắt , bạn nên cho đoạn code trên vào thẻ code
[ code] ...[ /code]

Không có khoảng trắng sau dấu [

- Thứ nữa, Bạn nên tìm hiểu lại VBA cơ bản, trong VBA (dù có thể sau ghi macro) cũng không nên dùng .Select , và riêng dùng Find phải quản lý được nó - vùng tìm kiếm và rõ kết quả đang ở đâu.
 
Upvote 0
Em chỉ muốn hỏi cách bắt lỗi trong vòng lặp với cái dòng đỏ là dòng sẽ xảy ra các trường hợp lỗi thôi mà các bác.
 
Lần chỉnh sửa cuối:
Upvote 0
Em chỉ muốn hỏi cách bắt lỗi trong vòng lặp với cái dòng đỏ là dòng sẽ xảy ra các trường hợp lỗi thôi mà các bác.
Thế trước khi vô vòng lặp đã có lỗi bạn không bắt ư, kỳ vậy?
& với cách viết các câu lệnh như bạn thì nếu có biết mình cũng sẽ không chỉ!
 
Upvote 0
Web KT

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

Back
Top Bottom