Hỏi về lỗi error resume (1 người xem)

Liên hệ QC

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

vova2209

Thành viên tích cực
Tham gia
5/4/17
Bài viết
835
Được thích
112
Giới tính
Nam
Nghề nghiệp
Đường bộ
Em muốn hỏi nếu bị lỗi ở chỗ chữ mầu đỏ bỏ qua phần chữ mầu xanh code chạy tiếp thì làm thế nào ạ
error resume next
For I = inStart To inFinish
Sheets("BBan").Range("Aj1").Value = I
Sheets("BBan").PrintOut 'Vùng in .Range("C2:AF152").PrintOut

Sheets(shNameKL).Select
hidedongproKL
Sheets(shNameKL).Range("AZ1").Value = I
Sheets(shNameKL).PrintOut


Sheets(shNameCD).Select
Sheets(shNameCD).Range("AZ1").Value = I
Sheets(shNameCD).PrintOut
 
Sau 3 dòng màu xanh bạn gắn 1 nhãn, ví dụ GPE:

Trước dòng màu đỏ bạn ra lệnh: On Error Goto GPE

Còn dòng On Error Resume Next dời đến dòng
GPE: On Error . . . .

Nhưng cảnh báo với bạn là vẫn là cách chữa cháy;
Cơ bản vẫn là tham biến ShNameKL fải tồn tại trong mọi lúc mọi nơi; Nếu không (tồn tại) thì cần có lệnh thoát
 
Upvote 0
Sau 3 dòng màu xanh bạn gắn 1 nhãn, ví dụ GPE:

Trước dòng màu đỏ bạn ra lệnh: On Error Goto GPE

Còn dòng On Error Resume Next dời đến dòng
GPE: On Error . . . .

Nhưng cảnh báo với bạn là vẫn là cách chữa cháy;
Cơ bản vẫn là tham biến ShNameKL fải tồn tại trong mọi lúc mọi nơi; Nếu không (tồn tại) thì cần có lệnh thoát
Có nên đặt 4 dòng này thành 1 sub ko anh nhỉ
Khai báo biến shNameKL chung cho toàn mudule như nào anh nhỉ. Hay phải làm thành 1 function
-----------
Sheets(shNameKL).Select
hidedongproKL
Sheets(shNameKL).Range("AZ1").Value = I
Sheets(shNameKL).PrintOut
 
Lần chỉnh sửa cuối:
Upvote 0
Mình chưa thể fát biểu được gi 1 cách bao quát theo iêu cầu của bạn; Lí do là mới thấy được 1 fần của 1 macro; Mà theo mình đoán, chương trình của bạn không chỉ là 1 macro.

Đến thời điểm này, chỉ có vậy thôi.
 
Upvote 0
Có nên đặt 4 dòng này thành 1 sub ko anh nhỉ
Khai báo biến shNameKL chung cho toàn mudule như nào anh nhỉ. Hay phải làm thành 1 function
-----------
Sheets(shNameKL).Select
hidedongproKL
Sheets(shNameKL).Range("AZ1").Value = I
Sheets(shNameKL).PrintOut
Bạn nên tạo 1 Function để kiểm tra sự tồn tại của sheet shNameKL
Đưa các lệnh trên vào trong IF sheet tồn tại ....
Tìm trên diễn đàn các Function kiểm tra tên sheet
 
Upvote 0
Bạn chủ thớt vượt qua cả "đốt cháy giai đoạn" ấy, mà nhảy một phát "về đích" luôn nên không dám bình luận.

-------
Ngoài kiểm tra sheet có tồn tại không thì phương thức Select còn bẫy lỗi khi sheet bị ẩn nữa.
 
Upvote 0
On Error Resume Next
Dòng code có thể gây error ở đây
If Err.Number <> 0 Then
Cụm code cần tránh
khi gặp error ở đây

End If
On Error Goto 0 ' không bẫy lỗi nữa

Tiếp tục code bình thường

Muốn biến dùng chung cho cả module thì khai báo nó ngoài Sub, Function. Tức là ngay đầu module, sau mấy lệnh Option.
Search hộp lập trình này với từ khoá "biến toàn cục"
 
Upvote 0
Bạn chủ thớt vượt qua cả "đốt cháy giai đoạn" ấy, mà nhảy một phát "về đích" luôn nên không dám bình luận.

-------
Ngoài kiểm tra sheet có tồn tại không thì phương thức Select còn bẫy lỗi khi sheet bị ẩn nữa.

Thì đúng ra là phải tìm cách kiểm soát tồn tại như bài #5. Nhưng thấy kiểu học code đốt giai đoạn như vậy, tôi không chắc chủ thớt hiểu nhiệm vụ của function và sub nên đành chỉ cho kiểu "rừng".
 
Upvote 0
On Error Resume Next
Dòng code có thể gây error ở đây
If Err.Number <> 0 Then
Cụm code cần tránh
khi gặp error ở đây

End If
On Error Goto 0 ' không bẫy lỗi nữa

Tiếp tục code bình thường

Muốn biến dùng chung cho cả module thì khai báo nó ngoài Sub, Function. Tức là ngay đầu module, sau mấy lệnh Option.
Search hộp lập trình này với từ khoá "biến toàn cục"
Cái từ khóa em cần, để em xem thêm. cảm ơn các anh
 
Upvote 0
Bạn chủ thớt vượt qua cả "đốt cháy giai đoạn" ấy, mà nhảy một phát "về đích" luôn nên không dám bình luận.

-------
Ngoài kiểm tra sheet có tồn tại không thì phương thức Select còn bẫy lỗi khi sheet bị ẩn nữa.
cảm ơn bác! em chưa hiểu rõ lắm nền ko biết hỏi hay làm từ đâu.. em sẽ chăm chỉ học thêm
 
Upvote 0
cảm ơn bác! em chưa hiểu rõ lắm nền ko biết hỏi hay làm từ đâu.. em sẽ chăm chỉ học thêm

Kiếm 1 quyển sách VBA về, giở từ trang 1 ra đọc khong sót dòng nào. Và làm khong sót 1 bài tập nào. Không thành công cũng thành nhân (NgTH)
 
Upvote 0
Kiếm 1 quyển sách VBA về, giở từ trang 1 ra đọc khong sót dòng nào. Và làm khong sót 1 bài tập nào. Không thành công cũng thành nhân (NgTH)
bác cho em links 1 quyển sách để em in ra. em ở Tuyên Quang không có loại này ạ. Em cảm ơn anh nhiều
 
Upvote 0
Web KT

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

Back
Top Bottom