Добрый вечер, уважаемый Форум. Подскажите, пожалуйста, как назначить конкретный лист ("СПРАВОЧНИК") для работы данного кода? Чтобы находясь на листе "Рабочий" обойтись без активации листа "СПРАВОЧНИК". Пробовал добавлять в строки с ??????? "Sheets("СПРАВОЧНИК")."--не помогло.
Код
Sub FinderNew()
Dim rw As Long, i As Long, x
rw = Cells(Rows.Count, "br").End(xlUp).Row '????????????
x = 0
With numFGNew
For i = 2 To rw
'If Cells(i, 4) = .ComboBox1 Then
If CStr(Cells(i, 70)) = .ComboBox1 Then '????????????
'If Cells(i, 5) = .ComboBox2 Then
'If Cells(i, 6) = .ComboBox5 Then
'If Cells(i, 7) = CDate(.ComboBox4) Then
.ListBox1.AddItem ""
.ListBox1.List(x, 0) = i
.ListBox1.List(x, 1) = Cells(i, 97) '????????????.
x = x + 1
End If
'End If
'End If
' End If
Next
End With
'Stop
End Su
Используйте конструкцию With - End With и не забывайте при этом ставить точки перед Cells. P.S. Своё сообщение можно редактировать и привести код в порядок.
Sub FinderNew()
With Sheets("СПРАВОЧНИК")
Dim rw As Long, i As Long, x
rw = Sheets("СПРАВОЧНИК").Cells(Rows.Count, "br").End(xlUp).Row '
x = 0
With numFGNew
For i = 2 To rw
'If Cells(i, 4) = .ComboBox1 Then
If CStr(Sheets("СПРАВОЧНИК").Cells(i, 70)) = .ComboBox1 Then '
'If Cells(i, 5) = .ComboBox2 Then
'If Cells(i, 6) = .ComboBox5 Then
'If Cells(i, 7) = CDate(.ComboBox4) Then
.ListBox1.AddItem ""
.ListBox1.List(x, 0) = i
.ListBox1.List(x, 1) = Sheets("СПРАВОЧНИК").Cells(i, 97) '
x = x + 1
End If
'End If
'End If
' End If
Next
End With
End With
End Sub
Hugo, попробовал. Всё нормально. В разных вариантах. Может в другом файле и будут ошибки, но с моими условиями работает нормально. И почему-то без этих строчек не работает. Спасибо.