Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как программно (VBA) определить тип ячейки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как программно (VBA) определить тип ячейки (Макросы/Sub)
Как программно (VBA) определить тип ячейки
Shershen Дата: Понедельник, 24.03.2014, 19:51 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Как программно (VBA) определить является ли ячейка в excel полем со списком?
 
Ответить
СообщениеКак программно (VBA) определить является ли ячейка в excel полем со списком?

Автор - Shershen
Дата добавления - 24.03.2014 в 19:51
nilem Дата: Понедельник, 24.03.2014, 20:15 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
попробуйте так:
[vba]
Код
If Not Intersect(ActiveCell, ActiveSheet.UsedRange.SpecialCells(xlCellTypeAllValidation)) Is Nothing Then MsgBox "Validation is present"
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениепопробуйте так:
[vba]
Код
If Not Intersect(ActiveCell, ActiveSheet.UsedRange.SpecialCells(xlCellTypeAllValidation)) Is Nothing Then MsgBox "Validation is present"
[/vba]

Автор - nilem
Дата добавления - 24.03.2014 в 20:15
Саня Дата: Понедельник, 24.03.2014, 21:38 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
[vba]
Код
Option Explicit

Sub t()
     MsgBox bValidInCell(ActiveCell)
End Sub

Function bValidInCell(rng As Range) As Boolean
     On Error Resume Next
     Dim v: v = rng.Validation.Type
     bValidInCell = (Err.Number = 0)
End Function
[/vba]
 
Ответить
Сообщение[vba]
Код
Option Explicit

Sub t()
     MsgBox bValidInCell(ActiveCell)
End Sub

Function bValidInCell(rng As Range) As Boolean
     On Error Resume Next
     Dim v: v = rng.Validation.Type
     bValidInCell = (Err.Number = 0)
End Function
[/vba]

Автор - Саня
Дата добавления - 24.03.2014 в 21:38
Alex_ST Дата: Понедельник, 24.03.2014, 21:55 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Саш, Колин способ всё-таки покороче будет и к тому же без обработчика ошибок, который некоторые гуру применять советуют только когда без него никак не обойтись :[vba]
Код
Function bNotValidInCell(rRng As Range) As Boolean
      bNotValidInCell = Intersect(rRng, ActiveSheet.SpecialCells(xlCellTypeAllValidation)) Is Nothing
End Function
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 25.03.2014, 21:30
 
Ответить
СообщениеСаш, Колин способ всё-таки покороче будет и к тому же без обработчика ошибок, который некоторые гуру применять советуют только когда без него никак не обойтись :[vba]
Код
Function bNotValidInCell(rRng As Range) As Boolean
      bNotValidInCell = Intersect(rRng, ActiveSheet.SpecialCells(xlCellTypeAllValidation)) Is Nothing
End Function
[/vba]

Автор - Alex_ST
Дата добавления - 24.03.2014 в 21:55
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как программно (VBA) определить тип ячейки (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!