В настоящее время я получаю сообщение об ошибке, указывающее, что индекс вне диапазона. на строке кодаОшибка времени выполнения VBA 9
If Sheets(Master).Cells(i, A).Value = AssetNum.Value Then
Я пытаюсь использовать цикл для увеличения я поэтому диапазон строк начинается в 12 и добавляет 1 к нему каждый раз. Затем внутри цикла for я хочу использовать оператор If для проверки и проверить, равна ли ячейка (i, A) значению в AssetNum. Если цикл достигает значения EmptyRow, он завершает цикл. Я не совсем уверен, как правильно использовать инструкцию IF-TH для цикла.
Public i As Integer
Private Sub AssetNum_Change()
End Sub
Private Sub Enter_Click()
Dim EmptyRow As Long
'Audit will only search Master Sheet
Worksheets("Master").Activate
'Find empty row value so we can use that for limit of search
With Sheets("Master")
EmptyRow = .Range("A" & Rows.Count).End(xlUp).Row + 1
End With
'i needs to be set to minimum limit
'Begin loop of search
For i = 12 To EmptyRow + 1
If Cells(i, 1).Value = AssetNum.Value Then
'Go to compare userform to display
Compare.AssetDisplay.Value = AssetNum.Value
Compare.LocationDisply.Value = Cells(i, 2).Value
Compare.Show
End If
Next i
'If i gets to emptyrow num then go to non found asset userform
Unload Me
NonFoundAsset.Show
Пожалуйста, ваш реальный код (тот, который компилирует, и что соответствует первому фрагменту в вашем вопросе) – Amit
Вы Ждете» t получите строку кода, о которой вы говорите, в свой вопрос. Если листы (мастер) .Cells (i, A) .Value = AssetNum.Value Затем не указано в коде, который вы опубликовали. – MatthewD
Прошу прощения, я изменил его, чтобы попробовать другой вариант. – Pwoods