|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
29.07.2008, 12:43 | #1 |
Форумчанин
Регистрация: 03.06.2008
Сообщений: 213
|
проверка диапазона
Подскажите, как можно проверить диапазон ячеек на предмет наличия значений. Т.е. если все ячейки в диапазоне заполнены - то выполняется то-то, а если нет -другое то-то. Причем диапазон явно не задан.
|
29.07.2008, 14:07 | #2 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Можно, например, так:
Код:
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 29.07.2008 в 14:11. |
29.07.2008, 14:23 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
подробности - проверять в формуле или в макросе?
Наличие значений - пробел - это есть значение или нет? а формула =ЕСЛИ(2>3;"";"чудо!") - это пустая ячейка или нет? Больше конкретики, возможно примерчик в файле... Тогда у Вас Гораздо больше шансов получить ответ. hint. СЧЕТ - подсчитывает количество ячеек, содержащих числа СЧЕТЗ - подсчитывает количество непустых ячеек |
29.07.2008, 16:17 | #4 |
Форумчанин
Регистрация: 03.06.2008
Сообщений: 213
|
Спасибо всем, кто откликнулся!
SAS888 СПАСИБО ОГРОМНО!!! Хотя ничего не поняла, но все получилось. Не пойму как работает Intersect применимо к считыванию значений, буду разбираться. А есть ли что-то похожее, применимое не к Range, а к Control-ам на форме? А то я вручную прописываю: если это равно false and это равно false and... |
29.07.2008, 16:48 | #5 |
Старожил
Регистрация: 15.05.2008
Сообщений: 2,058
|
опросить контролы на форме, на предмет наличия в них значений, можно следующим кодом
Код:
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499 |
29.07.2008, 17:22 | #6 | |
Форумчанин
Регистрация: 06.03.2008
Сообщений: 352
|
Скрипач... то-есть Intersect не нужен!
Цитата:
Run-time error '5': Invalid procedure call or argument , не считая того, что SpecialCells генерит ошибку Run-time error '1004' Не найдено ни одной ячейки, удовлетворяющей указанным условиям Если контролируемый диапазон наверняка состоит более, чем из одной ячейки, то просто Код:
Последний раз редактировалось дмидми; 29.07.2008 в 17:31. |
|
29.07.2008, 17:48 | #7 |
Форумчанин
Регистрация: 03.06.2008
Сообщений: 213
|
дмидми
У меня тоже генерил ошибку, но я с этим заморачиваться не стала, а прописала в else: if not Intersect(). Вроде работает. И потом у меня единичный диапазон - только один столбец, а там все работает безупречно. |
30.07.2008, 05:33 | #8 | ||
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
дмидми, Bezdar.
Откуда ошибка? Почему? Intersect - это диапазон пересечения его аргументов (которые заданы как Range). В моем коде ищется пересечение "нашего" диапазона (rng) и всех пустых ячеек листа. В результате, если между этими диапазонами нет общих ячеек (Is Nothing), значит весь "наш" диапазон заполнен. Ошибка возможна только тогда, когда нет ни одной пустой ячейки на листе. Вы можете это представить? И еще. Автор вопроса говорит Цитата:
Цитата:
P.S Если не затруднит, приложите кусок файла с моим кодом, где генерируется ошибка. Я не могу ее получить никакими "выпендриваниями".
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 30.07.2008 в 07:39. Причина: Добавлено |
||
30.07.2008, 07:42 | #9 | |
Форумчанин
Регистрация: 06.03.2008
Сообщений: 352
|
Если поблизости запахнет серой...
...то мы просто обязаны наладить производство святой воды в промышленных масштабах. ©
Цитата:
P.S. Строка On Error GoTo 0, кажется, лишняя. Но я всегда считаю, что лучше перебдеть... |
|
30.07.2008, 07:54 | #10 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Т.е. Вашу функцию можно использовать только вызвав из ячейки листа? А если ей требуется воспользоваться в основном коде? Как ее вызвать из макроса с явно заданным диапазоном?
И все-таки. Почему у Вас, при выполнении предложенного мной кода возникает ошибка. Я не могу смоделировать такую ситуацию (заполнять все ячейки листа не буду, считаю такую ситуацию невероятной).
Чем шире угол зрения, тем он тупее.
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
формула ЕСЛИ, из диапазона | valerij | Microsoft Office Excel | 21 | 18.04.2008 17:38 |
Выход из диапазона. Паскаль | Punk_tir | Помощь студентам | 3 | 03.12.2007 10:09 |
Имя диапазона | CAMyM | Microsoft Office Excel | 8 | 09.11.2007 10:16 |
Выбор Диапазона Дат | Chepa | БД в Delphi | 2 | 02.02.2007 10:25 |
Ccылка в функции на два диапазона | Python | Microsoft Office Excel | 1 | 28.11.2006 03:21 |