- Tham gia
- 5/6/08
- Bài viết
- 30,703
- Được thích
- 53,947
Tôi thường thấy trong các chương trình, người ta hay dùng đoạn mã "On Error Goto 0" nhưng chưa hiểu nó là cái gì
Tôi đoán chừng thế này: Nếu trong chương trình, ta có câu bẫy lỗi On Error Resume Next hoăc On Error Goto gì gì đó thì nếu như sau đó vài dòng, tôi viết thêm câu On Error Goto 0 vào sẽ làm cho hệ thống phát hiện lỗi của Excel được phục hồi trở lại
Ví dụ:
- Mở 1 bảng tính mới và chèn code này vào 1 Module:
Code này đương nhiên bị lỗi vì không tìm thấy vùng Blanks! Giờ tôi sửa lại thành:
Code sẽ bỏ qua lỗi và.. không làm gì cả
Nếu tôi sửa lại thế này:
Sau khi vượt qua lỗi đầu tiên, đoạn On Error GoTo 0 sẽ phục hồi hệ thống tìm lỗi của Excel nên code sẽ bị phát hiện lỗi tiếp (phát hiện lỗi tại dòng Rng.Select vì đến thời điểm hiện tại vẫn chẳng có Rng nào được xác định)
-----------------------------
Chỉ thí nghiệm và suy đoán thế thôi! Xin các cao thủ, ai rành việc này giải thích rõ giúp tôi với
Cảm ơn!
Tôi đoán chừng thế này: Nếu trong chương trình, ta có câu bẫy lỗi On Error Resume Next hoăc On Error Goto gì gì đó thì nếu như sau đó vài dòng, tôi viết thêm câu On Error Goto 0 vào sẽ làm cho hệ thống phát hiện lỗi của Excel được phục hồi trở lại
Ví dụ:
- Mở 1 bảng tính mới và chèn code này vào 1 Module:
PHP:
Sub Test()
Dim Rng As Range
Set Rng = Range("B1:B10").SpecialCells(4)
Rng.Select
End Sub
PHP:
Sub Test()
Dim Rng As Range
On Error Resume Next
Set Rng = Range("B1:B10").SpecialCells(4)
Rng.Select
End Sub
Nếu tôi sửa lại thế này:
PHP:
Sub Test()
Dim Rng As Range
On Error Resume Next
Set Rng = Range("B1:B10").SpecialCells(4)
On Error GoTo 0
Rng.Select
End Sub
-----------------------------
Chỉ thí nghiệm và suy đoán thế thôi! Xin các cao thủ, ai rành việc này giải thích rõ giúp tôi với
Cảm ơn!