Chào các bác,
Hiện tại mình đang gặp 1 vấn đề trong code vba nên rất mong được mọi người góp ý.
Code phía trên sẽ kiểm tra các cell từ H154 đến H196 của reference tab. Các cell này chứa dữ liệu date dưới dạng string. Nếu như ô nào trống hoặc bằng 0 thì sẽ tiếp tục vòng lặp. Nếu như cell có dữ liệu thì sẽ tìm date tương ứng ở Sheet1 tab.
Vấn đề là code bị Runtime error 91 tại lần thứ 2 không tìm thấy dữ liệu date.
Dòng code lỗi:
Dòng code
đã bỏ qua lỗi ở lần không tìm thấy đầu tiên.
Mục đích là sẽ bỏ qua error đến khi vòng lặp kết thúc. Mình thắc mắc tại sao dòng
lại không bỏ qua lỗi lần 2 ?
Phía bên dưới là link dropbox của worksheet đang chứa code bị lỗi.
Mong mọi người giúp đỡ mình vấn đề này.
Edit: file đã được đính kèm
Hiện tại mình đang gặp 1 vấn đề trong code vba nên rất mong được mọi người góp ý.
Mã:
Option Explicit
Dim X As Integer
Dim Rng As String
Sub runtime91()
Sheet1.Select 'Select the first sheet
For X = 1 To 43 'Setting the loop
Rng = Sheets("Reference").Cells(153 + X, 8).Value 'assigning variable for cells containing the last registration dates
If Rng = "0" Or Rng = "" Then 'Logical testing for periods with the last registration dates
Else
On Error GoTo continue
Cells.Find(What:=Rng, After:=Range("A1"), LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Select 'Find the last registration dates based on reference datas
If ActiveCell.Column = 1 Then
ActiveCell.Offset(0, 9).Value = ActiveCell 'Write the last registration dates
ElseIf ActiveCell.Column = 9 Then
ActiveCell.Offset(0, 1).Value = ActiveCell 'Write the last registration dates
End If
End If
continue:
Next
End Sub
Code phía trên sẽ kiểm tra các cell từ H154 đến H196 của reference tab. Các cell này chứa dữ liệu date dưới dạng string. Nếu như ô nào trống hoặc bằng 0 thì sẽ tiếp tục vòng lặp. Nếu như cell có dữ liệu thì sẽ tìm date tương ứng ở Sheet1 tab.
Vấn đề là code bị Runtime error 91 tại lần thứ 2 không tìm thấy dữ liệu date.
Dòng code lỗi:
Mã:
Cells.Find(What:=Rng, After:=Range("A1"), LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Select
Dòng code
Mã:
On Error GoTo continue
Mục đích là sẽ bỏ qua error đến khi vòng lặp kết thúc. Mình thắc mắc tại sao dòng
Mã:
On Error GoTo continue
Phía bên dưới là link dropbox của worksheet đang chứa code bị lỗi.
Mã:
https://www.dropbox.com/scl/fi/cc83cwku0d8kk7le2j7yi/Runtime-error-91.xlsm?dl=0&rlkey=64yovaxo87wlosjgc235j6dlj
Mong mọi người giúp đỡ mình vấn đề này.
Edit: file đã được đính kèm
File đính kèm
Lần chỉnh sửa cuối: