Есть форма поиска (№1), которая идентифицирует нужную запись по значению в ячейке столбца BR. По клику на Листбоксе этой формы открывается форма "рабочая" (№2) с данными этой записи и кучей комбобоксов. После вставки значений в ячейки столбца BR (вставка, спецвставка-значения или формулы, вручную или макросом) перестают нормально работать комбобоксы в форме №2 в том случае, если форма №2 открывается из формы поиска №1. А именно, не дополняются значения из опорного списка по первым буквам. Причем, если же форму №2 открывать НЕ из формы №1 (!!!), то все нормально работает. То есть, что-то не так с формой №1. Вот код, который, собственно в форме №1 идентифицирует нужную запись по значению в ячейке столбца BR:
Код
Sub CheckComboNew()
Dim x As Control
Counter = 0
With numFGNew
For Each x In .Controls
If TypeOf x Is MSForms.ComboBox Then
If x.Tag = "w" Then
If x.Value <> "" Then Counter = Counter + 1
End If
End If
Next
End With
If Counter = 1 Then Call FinderNew
End Sub
Sub FinderNew()
Dim rw As Long, i As Long, x
rw = Cells(Rows.Count, "br").End(xlUp).Row 'номер ищется в "br".
x = 0
With numFGNew
For i = 2 To rw
'If Cells(i, 4) = .ComboBox1 Then
If CStr(Cells(i, 70)) = .ComboBox1 Then '№ столбца в котором будет поиск, то есть в "br".
'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) '97--номер столбца, для выведения в ListBox1.
x = x + 1
End If
'End If
'End If
' End If
Next
End With
End Su,
Я думаю, что в стороке "If CStr(Cells(i, 70)) = .ComboBox1 Then " и "зарыта собака", но я не знаю, что надо сделать (или код исправить, или вручную, что-то переключить). Файл большой и формы громоздкие, с множеством опорных списков (то, что я подготовил для примера весит около 800 Кб). Поэтому его не прилагаю. Если надо, могу выслать на почту.
Пробовал переназначать столбец 70 (br) на 71(bs). Сохранялся-закрывался... Проблема сохраняется. Ёлки-палки, что-же делать? Получается, что практически не возможно работать в файле...