Страницы: 1
RSS
Всплывающее окно ошибки
 
Доброго времени суток, форумчане! Подскажите пожалуйста, необходимо сделать всплывающее окошко(наподобие popup), которое появляется если в ячейке введено отрицательное число, и в окошке должны быть 2 кнопки: закрыть и исправить. "Исправить"-значит у числа убрать минус, т.е. привести его в модульный тип(целый,положительный).
 
Будет работать в подкрашенном диапазоне
 
Спасибо Юрий М!!! вроде разобрался...вот еще параллельный вопросик, есть ячейки с "условным форматированием", т.е. для этих ячеек условие допустим(для ячейки E12), если "=ИЛИ(E12<E13;E12<E14)" то ячейка подкрашивается в красный цвет, а можно ли вместо подкрашивания вывести всплывающее окно с пояснением, почему введено неверно? Я правда, только начинающий в VB, но по-моему, MsgBox уже не подойдет, потому как существует столбцы с ячейками для которых(ячеек) все условия разные, так вот и хотелось бы выскакивающее окошко для каждой ячейки "своё"..
 
Отслеживать условное форматирование несколько проблематично. Но, раз есть УСЛОВИЕ, по которому происходит это УФ, то пишите для каждой ячейки аналогичную проверку. или в примечаниях давайте подсказку. А если таких ячеек много? Будете все перечислять?
 
В том то и дело что много...около 60-ти условий только на одном листе, а всего таких листов 6!   :-)....Ладно, спасибо за посказку,попробую пока для одного листа сделать.
 
Если условий 60, то и различных сообщений в MsgBox потребуется столько же.
 
Я наверно немного не так выразился,простите...*ячеек 60, а подобных условий не больше 10...А можно ли сделать,допустим, средствани VB 10-ок окон, и прописать условия "если...то.." и под словом "то" открываться будет определенное(из 10-ти)окно?
 
В моём примере проверяется один диапазон. Добавьте проверку условий на нужные диапазоны (отдельные ячейки) и в каждом свой (один из десяти) MsgBox с нужной информацией.
 
Еще раз спасибо! только вот на отрицательные числа все равно для всех 180(точно подсчитал) ячеек писать пришлось...(Target, Range("E12:E14,E16:E18,E21,E22,E24,E25,E28,E29,E32:E35,E37:E49,E52:E55")) ...и так 6 столбцов (E,G,I,K,M,O) ...еслибы ячейки рядом находились-то нет вопросов, а так пришлось в 6 раз код увеличивать...:-0...пробывал написать в одну строку...пишет типа "out of range"...интересно, а аналог Range только для большЕго диапазона есть?(просто код заметно бы сократился).
 
{quote}{login=Miha-nikus}{date=07.06.2010 03:28}{thema=}...интересно, а аналог Range только для большЕго диапазона есть{/post}{/quote}А что, Range может быть только маленький? ;-)
 
Попробуйте использовать именованный диапазон
 
Нельзя там цикл с Union по отрицательным воткнуть?
 
Так ведь не только отрицательные проверять. Ещё есть 9 других условий.
 
Miha-nikus, выделяем группу ячеек, у которых нужно проверять одинаковое условие. Присваиваем этому диапазону имя, например, "Первый". И в коде вместо    
Range("A1:C10"))  
пишем  
Range("Первый"))  
Затем следующую группу ячеек, где другое условие
 
{quote}{login=Serge 007}{date=07.06.2010 03:34}{thema=Re: }{post}{quote}{login=Miha-nikus}{date=07.06.2010 03:28}{thema=}...интересно, а аналог Range только для большЕго диапазона есть{/post}{/quote}А что, Range может быть только маленький? ;-){/post}{/quote} <BR>Не знаю, что вы имеете ввиду, но если писать <BR>(Target, Range"E12:E14,E16:E18,E21,E22,E24,E25,E28,E29,E32:E35,E37:E49,E52:E55,G12:G14,G16:G18, _G21,G22,G24,G25,G28,G29,G32:G35,G37:G49,G52:G55,I12:I14,I16:I18,I21,I22,I24,I25,I28,I29,I32:I35,I37:I49, _I52:I55,K12:K14,K16:K18,K21,K22,K24,K25,K28,K29,K32:K35,K37:K49,K52:K55,M12:M14,M16:M18,M21, _M22,M24,M25,M28,M29,M32:M35,M37:M49,M52:M55,O12:O14,O16:O18,O21,O22,O24,O25,O28,O29,O32:O35,O37:O49,O52:O55")) ...то выдает ошибку!
 
См. совет выше.
 
да, да, увидел! ) просто пока писал, тут ответили..)))
 
Простиите Юрий, я не совсем понял по поводу "Присваиваем этому диапазону имя, например, "Первый". "..это где в экселе "обзывается" именем диапазон? Можно чуточку поподробнее? :-)
 
Самый простой способ: удерживая Ctrl кликаем по нужным ячейкам. Затем в поле над ячейкой А1 вводим требуемое имя. Без кавычек. Ещё можно через Ctrl+F3, Вставка - Имя - Присвоить. Всё это есть во встроенной справке Excel.
 
Спасибки! буду пробывать..)
 
Народ! помогите еще чутка, плиз! не могу написать код на условие...Нужно так, "если E12<E13 то" окно с пояснением ошибки...я конечно, понимаю, все просто, но я тока учусь..VB...
 
См. пример. Контролируется изменение именно этих ячеек. Заодно и диапазон, о котором говорили раньше.
Страницы: 1
Читают тему
Наверх