Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Как избежать ошибку "Число сохранено как текст"

Автор Poltava, 18.05.2012, 11:35

« назад - далее »

Poltava

Есть база в ней есть поле код наименования состоящее из цифр. Соответственно эксель понимает это поле как числовое и разрешает применять к нему только числовые фильтры. Но вот при поиске это очень неудобно поскольку обычно знаешь только какую либо часть кода соответственно тут идеальным является поиск как по тексту по критерию содержит. Для этого в формате ячейки выставляю значение Текстовый и применяю соответствующий _автофильтр_. Все работает но есть один момент, а именно когда выберешь формат текстовый эксель в углу каждой ячейки выводит предупреждение о том что число сохранено как текст можно конечно в ручную выбрать весь диапазон и ручками нажать пропустить ошибку но база довольно большая и периодически обновляется а при обновлении в углу ячейки опять высвечивается это предательское предупреждение. Отсюдова вопрос как можно программно заставить эксель пропустить эту ошибку.
То есть обновилась база и потом сработал код который выбрал пропустить эту ошибку для диапазона. Пытался записать макроредактором действие пропустить эту ошибку но он ничего не записал. Вот и пишу теперь сюда. А то с файлом будут работать несколько человек и не хочется слышать панические вопросы типа "а что это у меня тут за ошибка" или "Да тут ошибка оно наверно неправильно работает"
Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.

bzzzu

Если я правильно поняла проблему, то хочется чтобы просто не отображалась ошибка?
Тогда может просто отключить ее, убрав соответствующую галочку в Файл->Параметры->Формулы->Правила контроля ошибок->Числа отформатированные как текст.

Poltava

Да но сделать это на каждом компьютере где будет открываться файл невозможно. Да и к тому же это относиться ко всем файлам и частенько оказывается полезной вещью. Именно потому и возник вопрос как это сделать программно для известного заранее диапазона
Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.

Poltava

В принципе можно и не менять на текст но тогда вопрос сменяется обратным как в столбце с числами с помощью расширенного фильтра выбрать те что содержат 5 или 025. Мои попытки копать в этом направлении пока бесполезны. Приложу файл может кто знает как должно выглядеть условие
Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.

ShAM

#4
ЦитироватьДа но сделать это на каждом компьютере где будет открываться файл невозможно. Да и к тому же это относиться ко всем файлам и частенько оказывается полезной вещью. Именно потому и возник вопрос как это сделать программно для известного заранее диапазона
Можете сделать так.
Private Sub Workbook_Open()
Application.ErrorCheckingOptions.NumberAsText = False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ErrorCheckingOptions.NumberAsText = True
End Sub

Т.е. при открытии книги убираете галочку, перед закрытием ставите обратно.

Или лучше на Activate, Deactivate книги или листа.

Poltava

Да это вариант на активацию листа событие засунуть.
В принципе пока наверно лучшее. Но все же мне уже стал интерес и обратный вопрос  как отфильтровать числа как текст.
Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.

RAN


Poltava

Да сортирует то оно как нужно. Вот только не совсем то что я хотел. Вы использовали обычный _автофильтр_. А нужно с помощью расширенного, сам как применить это к расширенному не сообразил.
Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.