Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Программное обнаружение выпадающего списка в ячейке
 
В задаче по поиску значения в выпадающем списке я столкнулся с проблемой программного определения наличия выпадающего списка в ячейке. форма поиска значения в выпадающем списке вызывается по двойному клику на ячейке. Вопрос в том, как программно определить, если ли в данной ячейке выпадающий список?  
   
По-топорному я уже сделал:  
 On Error GoTo ErrHendler  
 ...  
   If Target.Validation.Type = xlValidateList Then  
     If Left(Target.Validation.Formula1, 1) = "=" Then  
       Set grngSelectedCell = Target  
       Cancel = True  
       strVal = CStr(grngSelectedCell.Value)  
       frmChoose.Show  
       ...  
     End If  
   End If  
 ...  
ErrHendler:  
 If Err.Number <> 1004 Then  
   MsgBox Err.Description, vbOKOnly + vbExclamation, ThisWorkbook.name  
 Else  
   GoTo clear  
 End If  
 
Подскажите пожалуйста, как программно определить, есть ли в ячейке выпадающий список?
Почему не получается изменить данные в элементе ListBox?
 
Не получается изменить данные в компоненте формы ListBox. Пробовал уточнять этот объект именем формы, на которой он находится - не помогло.    
 
Код функции, в которой происходит ошибка:  
 
Private Sub txtOrgName_Change()  
Dim intColumn As Integer  
Dim intRow As Integer  
 
Dim wsSheet As Worksheet  
Dim ws As Worksheet  
Dim intCount As Integer  
Dim strTemp As String  
Dim strTemp1 As String  
Dim int1 As Integer  
Dim int2 As Integer  
 
intColumn = 5  
Set wsSheet = ActiveWorkbook.Sheets("REESTR_ORG")  
Set ws = ActiveWorkbook.Sheets("Заголовок")  
 
If ListReestr.ListCount > 0 Then  
Do  
ListReestr.Removeltem  
Loop While ListReestr.ListCount > 0  
End If  
'Clear  
intCount = Range("LIST_ORG_WARM").Rows.Count + 1  
 
For int1 = 2 To intCount Step 1  
 strTemp = CStr(txtOrgName.Value)  
 strTemp1 = CStr(wsSheet.cells(int1, intColumn).Value)  
 int2 = CInt(InStr(1, strTemp1, strTemp, 1))  
 If int2 > 0 Then  
   ListReestr.AddItem wsSheet.cells(int1, 1)  
 End If  
Next  
 
End Sub  
 
По идее эта функция должна отслеживать изменения в элементе TextBox c именем txtOrgName и в зависимости от введённой в ней информации выводить в ListBox список организаций, в именах которых содержится данная подстрока.  
Проблема в том, что методы Clear, Removeltem, AddItem не работают.    
Буду благодарен за помощь в устранении ошибок.
Как программно определить версию Excel?
 
Вот возник у меня такой вопрос: как программно определить, открыта ли активная книга в Excel 2007 или же они открыта в более ранней версии Excel?
Как программно запретить сохранение шаблонов в формате .xlsx ?
 
Вопрос в том, как реализовать запрет на сохранение документов Excel в формате .xlsx?    
Нужно реализовать это программно, средствами VBA.  
 
Буду благодарен за любую помощь в решении этой проблемы.
Страницы: 1
Наверх