Страницы: 1
RSS
Показать / Скрыть все подсказки к ячейкам
 
Здравствуйте,  
Через проверку данных к ячейкам даются подсказки, таких ячеек на листе много, причем во многих установлены ограничения вводимых значений и выводятся сообщения об ошибках.  
 
Необходимо создать чекбокс в форме (не на листе) при наличии в чекбоксе галки подсказки выводятся, при отсутствии нет.  
 
Что странно, сделав чекбокс на самом листе в 2007 и 2010 екселе все заработало.  
Но в форме не работает ни в каком екселе. В чем ошибка?  
 
Используемый код:  
Private Sub CheckBox1_Click()  
   ActiveSheet.Unprotect "111"  
   If CheckBox1.Value Then  
               Set rng = Me.Cells.SpecialCells(xlCellTypeAllValidation)  
               For Each cel In rng.Cells  
                       With cel.Validation  
                               If .InputMessage <> "" Then .ShowInput = True  
                       End With  
               Next cel  
   Else  
               Set rng = Me.Cells.SpecialCells(xlCellTypeAllValidation)  
               For Each cel In rng.Cells  
                       With cel.Validation  
                               If .InputMessage <> "" Then .ShowInput = False  
                       End With  
               Next cel  
   End If  
   ActiveSheet.Protect "111"  
End Sub  
 
Пример во вложении...
 
{quote}{login=The_Prist}{date=23.05.2010 12:06}{thema=}{post}Здравствуйте.  
Замените Me на ActiveSheet(или другой нужный лист).  
Me - это обращение к родительскому объекту. В модуле листа - это обращение к листу, в котором расположен код, в форме - к форме, в книге - к книге.  
Думаю, ошибка понятна - в данном случае объект UserForm не имеет объекта Cells...{/post}{/quote}  
 
Спасибо! Все работает.
 
В моем примере все замечательно заработало во всех версиях excel (2003, 2007, 2010)  
 
Приложение 1 это пример  
 
А вот в необходимом мне файле выдает ошибку:  
Run-time error '-2147417848 (80010108)':  
 
Method 'ShowInput' of object 'Validation' Failed  
 
при этом ошибку выдает только в 2003 excel, в 2010 и 2007 все работает.  
 
Приложение 2 в следующем сообщении мой файл
 
Приложение 2 Мой файл  
ZIP архив
 
{quote}{login=The_Prist}{date=23.05.2010 12:56}{thema=}{post}Упростил и добавил проверку на наличие Проверки данных на листе:  
 
...{/post}{/quote}  
 
Спасибо за помощь :)  
 
Ошибок теперь не выдает, но и не работает.
 
{quote}{login=The_Prist}{date=23.05.2010 01:20}{thema=}{post}Я бы посоветовал Вам следующее:  
-следить за предыдущими советами(по поводу использования Me);  
-следить какой Checkbox отвечает за действие(в примере Вы используете Checkbox2 на форме, а в коде обращаетесь и отслеживаете события Checkbox1).  
...{/post}{/quote}  
 
The_Prist - Прошу извинить за мою невнимательность :)  
Спасибо за помощь.
Страницы: 1
Читают тему
Loading...