У меня есть код VBA, который проверяет данные, введенные в пользовательскую форму, со статическим списком справочных данных, представленных на одном из листов Excel.
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Long, LastRow As Long
Dim iExit As VbMsgBoxResult
i = 0
LastRow = 0
LastRow = Worksheets("sheet1").Range("H1").CurrentRegion.Rows.Count
For i = 2 To LastRow
If Trim(Sheet1.Cells(i, 8)) = Trim(TextBox1.Text) Then
Exit For
End If
Next i
If Trim(Sheet1.Cells(i, 8)) <> Trim(TextBox1.Text) Then
iExit = MsgBox("Invalid Customer ShortName ,Confirm if you want to ignore", vbQuestion + vbYesNo, "Data Entry Form")
If iExit = vbYes Then
Cancel = False
Else
Cancel = True
End If
End If
End Sub
проблема: я продолжаю получать подпискуошибки диапазона периодически в этой строке:
LastRow = Worksheets ("sheet1"). Range ("H1"). CurrentRegion.Rows.Count
Иногда код работает, иногда нет.