Страницы: 1
RSS
После вставки значений в ячейки столбца BR перестают нормально работать кокмбобоксы в форме.
 
Есть форма поиска (№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 Кб). Поэтому его не прилагаю. Если надо, могу выслать на почту.

Подскажите, пожалуйста, что надо сделать.
Изменено: iNic - 18.03.2015 00:45:10
 
Пробовал переназначать столбец 70 (br) на 71(bs). Сохранялся-закрывался... Проблема сохраняется.
Ёлки-палки, что-же делать? Получается, что практически не возможно работать в файле...
Страницы: 1
Наверх