Cần giúp đỡ lỗi number 424 - Object required

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 xem giúp em đoạn code này khi em chạy thì nó trả về Err.Description là Object required, Err.Number là 424. Cho em hỏi em sai ở đoạn nào với ạ, cần sửa lại như thế nào. Cám ơn các bác.


ngay=5
Set rng1 = Range("c5:Ah5")
Set Srng1 = rng1.Find(ngay, LookIn:=xlValues)
If Not Srng1 Is Nothing Then
f = Srng1.Column
Else: MsgBox ("Error1")
MsgBox Err.Description
MsgBox Err.Number
Exit Sub
End If
 
Mình chép cả cụm lên đi, một mẩu thế kia thì chưa mần được.
 
Upvote 0
Mình chép cả cụm lên đi, một mẩu thế kia thì chưa mần được.
Khúc trên cũng chưa có gì hết bác

Sub xetdat()
ngay = 5
Workbooks.Open Filename:="\\server1\TONG HOP GIO NHAN VIEN\TONG HOP.xlsx"
Workbooks("TONG HOP.xlsx").Activate
Set rng1 = Range("c5:Ah5")
Set Srng1 = rng1.Find(ngay, LookIn:=xlValues)
If Not Srng1 Is Nothing Then
f = Srng1.Column
Else: MsgBox ("Error1")
MsgBox Err.Description
MsgBox Err.Number
Exit Sub
End If
Cells(5, f) = "Test"

End Sub
 
Upvote 0
Hỏi cả chục bài rồi mà vẫn chưa tập được thói quen cho biết báo lỗi ở dòng nào.

Hỏi vắn tắt, trước sau gì rồi cũng phải thêm chi tiết. Vừa mất công vừa mất thì giờ.
Chịu khó để ý, trình bày hết chi tiết của lỗi thì nhận được câu trả lời nhanh chóng và chính xác hơn. Chỉ có lợi cho mình thôi.
 
Upvote 0
Hỏi cả chục bài rồi mà vẫn chưa tập được thói quen cho biết báo lỗi ở dòng nào.

Hỏi vắn tắt, trước sau gì rồi cũng phải thêm chi tiết. Vừa mất công vừa mất thì giờ.
Chịu khó để ý, trình bày hết chi tiết của lỗi thì nhận được câu trả lời nhanh chóng và chính xác hơn. Chỉ có lợi cho mình thôi.

Lỗi em có ghi ở trên mà bác. Có bẫy lỗi nên lỗi nó đâu có trả về cái dòng vàng đâu bác.
 
Upvote 0
Chủ bài đăng chịu khó chạy 1 lần macro này xem sao:
PHP:
Sub XetDat()
 On Error GoTo LoiCT
 ngay = 5
1 Workbooks.Open Filename:="\\server1\TONG HOP GIO NHAN VIEN\TONG HOP.xlsx"
 Workbooks("TONG HOP.xlsx").Activate
3 Set rng1 = Range("c5:Ah5")
 Set Srng1 = rng1.Find(ngay, LookIn:=xlValues)
5 If Not Srng1 Is Nothing Then
    f = Srng1.Column
7 Else: MsgBox ("Error1")
    MsgBox Err.Description
9    MsgBox Err.Number
    Exit Sub
11 End If
 Cells(5, f) = "Test"
Err_:       Exit Sub
LoiCT:
  If Err = 424 Then
    MsgBox Erl(), , "GPE.COM"
  Else
    MsgBox Error, , Str(Err) & " Cút Ngay!"
  End If
End Sub
 
Upvote 0
Chủ bài đăng chịu khó chạy 1 lần macro này xem sao:
PHP:
Sub XetDat()
On Error GoTo LoiCT
ngay = 5
1 Workbooks.Open Filename:="\\server1\TONG HOP GIO NHAN VIEN\TONG HOP.xlsx"
Workbooks("TONG HOP.xlsx").Activate
3 Set rng1 = Range("c5:Ah5")
Set Srng1 = rng1.Find(ngay, LookIn:=xlValues)
5 If Not Srng1 Is Nothing Then
    f = Srng1.Column
7 Else: MsgBox ("Error1")
    MsgBox Err.Description
9    MsgBox Err.Number
    Exit Sub
11 End If
Cells(5, f) = "Test"
Err_:       Exit Sub
LoiCT:
  If Err = 424 Then
    MsgBox Erl(), , "GPE.COM"
  Else
    MsgBox Error, , Str(Err) & " Cút Ngay!"
  End If
End Sub


Dạ chạy được bác. Bác chỉ giúp em sai ở đâu vậy bác. Cám ơn bác
 
Upvote 0
Bạn mô tả kết quả chạy macro đó như thế nào?
1./ Chạy một mạch & không thông báo gì
2./ Hiện 1 hộp thoại & nội dung hộp thoại đó là gì?
3./ Máy đứng luôn, không cục cựa
4./ Gì khác?
 
Upvote 0
Chỗ nào là dòng code bẫy lỗi? Và bẫy mấy khoảng, từ dòng nào đến dòng nào?

Trước em có 1 bài hỏi cách bắt lỗi trong vòng lặp thì bác SA_DQ có chỉ cho em đoạn

If Not Srng1 Is Nothing Then
f = Srng1.Column
Else: MsgBox ("Error1")
MsgBox Err.Description
MsgBox Err.Number
Exit Sub
End If

Vả lại khi có lỗi nó báo như thế nào em cũng ghi đủ ra hết cả mà.
Bài đã được tự động gộp:

Bạn mô tả kết quả chạy macro đó như thế nào?
1./ Chạy một mạch & không thông báo gì
2./ Hiện 1 hộp thoại & nội dung hộp thoại đó là gì?
3./ Máy đứng luôn, không cục cựa
4./ Gì khác?


Dạ chạy 1 mạch ko có thông báo gì hết bác
Cells(5, f) = "Test" đúng như em cần bác
 
Upvote 0
Có nghĩa là macro của chúng ta chưa ổn định & tiềm ẩn rủi ro cao
 
Upvote 0
Trước em có 1 bài hỏi cách bắt lỗi trong vòng lặp thì bác SA_DQ có chỉ cho em đoạn
...
Tôi nhìn cái sì tin kết hợp dòng bằng dấu ":" thì tôi biết là của lão ta rồi.
Sì tin ấy chỉ dùng cho những người đã viết code rất sành sỏi, và đã qua nhiều kinh nghiệm debug rồi.
Mới học code như bạn thì chỉ nên code rõ rệt dòng nào riêng dòng nấy.
 
Upvote 0
Web KT
Back
Top Bottom