Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2016, 19:40   #1
armati lepori
Пользователь
 
Аватар для armati lepori
 
Регистрация: 23.09.2016
Сообщений: 34
По умолчанию Можно ли реально пользоваться SpecialCells?

Странный какой-то метод! Казалось бы очень полезно сформировать объект-диапазон из особых ячеек исходного диапазона (видимые, непустые и пр.) Но столько неожиданностей!
Ну я еще могу смириться с тем, что не найдя нужных ячеек метод вместо того, чтобы честно сказать «Is Nothing» выдает ошибку 1004 – ее можно обработать. Так оказалось, что, если в исходном диапазоне только одна ячейка, то результаты выдаются бессмысленные и, кажется, не всегда одно и тоже выдают. В некоторых случаях в получившемся диапазоне .Count не имеет установленного значения… И что ждать в следующий раз?
Есть ли у кого опыт реального, системного использования этого Чуда? Можно ли ему доверять
Я не волшебник - я только учусь.
armati lepori вне форума Ответить с цитированием
Старый 23.09.2016, 23:44   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а как Вы думаете, для чего программисты Майкрософт дали эту функцию в пользование пользователям?

лично я пользуюсь... и довольно регулярно. уже лет 10-15
http://programmersforum.ru/showthrea...ls#post1627927
http://programmersforum.ru/showthrea...t=specialcells
http://programmersforum.ru/showthrea...t=specialcells
http://programmersforum.ru/showthrea...ls#post1606813
и т.д. ....
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 23.09.2016 в 23:52.
IgorGO вне форума Ответить с цитированием
Старый 24.09.2016, 07:25   #3
armati lepori
Пользователь
 
Аватар для armati lepori
 
Регистрация: 23.09.2016
Сообщений: 34
По умолчанию

Спасибо за образцы. Посмотрел и еще буду смотреть.
Но проблема в том что все примеры, вообще говоря, будут давать иногда (не всегда, но будут давать) ошибки и странности:
1) если в указанном диапазоне нужные ячейки не найдены - ошибка (фатальная):
2) если ячейка одна - результат не отражает действительность ...
У меня все работает - "руками докрутил все" - и ошибку исправил, и диапазон расширил... Но "исчерпывающее тестирование невозможно" и нет уверенности в будущем - ощущение такое что работаешь с ненадежной и недоделанной функцией. Для ее использования нужно очень хорошо знать рабочий массив данных и каждый раз проверять и "докручивать".
Я не волшебник - я только учусь.

Последний раз редактировалось armati lepori; 24.09.2016 в 07:27.
armati lepori вне форума Ответить с цитированием
Старый 24.09.2016, 11:01   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
оказалось, что, если в исходном диапазоне только одна ячейка, то результаты выдаются бессмысленные
да, есть такая проблема

пользуюсь крайне редко, - когда любой другой код будет тормозить
(например, чтобы найти все видимые строки, - в цикле перебирать 10 тыс строк это долго)
Разумеется, приходится отдельно обрабатывать вариант, когда ячейка одна.
EducatedFool вне форума Ответить с цитированием
Старый 24.09.2016, 11:52   #5
armati lepori
Пользователь
 
Аватар для armati lepori
 
Регистрация: 23.09.2016
Сообщений: 34
По умолчанию

Спасибо!
А программисты МикроСофта видимо очень хотели премию к Рождеству - вот и выдали сырой продукт
Я не волшебник - я только учусь.
armati lepori вне форума Ответить с цитированием
Старый 24.09.2016, 13:12   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

сначала хотел поспорить (типа, Excel совсем не сырой),
и решил почитать справку по этой функции

но, что по F1, что на сайте, - толком нет описания функции, возвращаемого результата, и вообще каких-то намеков на то, почему эта функция, будучи применяема к одной ячейке, результат может возвратить в виде миллиона ячеек.
EducatedFool вне форума Ответить с цитированием
Старый 24.09.2016, 13:40   #7
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Вот две цитаты из справки, где говорится о том, что будет возвращать функция, если выбрать одну ячейку.

Цитата:
Выделение ячеек в соответствии с содержащимися в них данными

1 Выделите диапазон, содержащий тип ячеек, которые нужно выделить.

Чтобы выделить все ячейки этого типа на текущем листе, наведите указатель на любую ячейку и нажмите кнопку мыши.

2 В меню Правка выберите команду Перейти.
3 Нажмите кнопку Выделить.
4 Установите нужные параметры.

Цитата:
Поиск ячеек, имеющих условный формат

1 Для поиска ячеек, имеющий особый условный формат, выберите условный критерий поиска и формат, который необходимо найти.

Для поиска всех ячеек на листе, имеющий условный формат, выберите любую ячейку.

2 В меню Правка выберите команду Перейти.
3 Выберите Дополнительный.
4 Выберите условные форматы.
5 Для поиска ячеек с одинаковым условным форматом выберите параметр этих же в окне Проверка вводимых значений.

Для поиска всех ячеек, имеющих условный формат, выберите всех.
pashulka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно отредактировать код так что бы можно было пользоваться клавиатурой ---Demon--- Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 01.04.2015 14:21
64-битная система - что в ней реально можно сделать? mrMeerkat Свободное общение 25 07.01.2014 10:51
TThreadList как им пользоваться? bakanaev Общие вопросы Delphi 3 15.01.2013 00:23
Как пользоваться ComboBox ByFly Общие вопросы Delphi 2 07.12.2010 14:35
Как пользоваться динамическим IP? WinFasT Свободное общение 2 19.01.2010 09:00