Страницы: 1
RSS
Как побороть формат ячеек почтовый индекс, Формат ячейки почтовый индекс, в ней число - видим одно, по факту другое
 
День добрый. Подскажите, пожалуйста как побороть такую проблему:
Есть файл Excell с данными. В этом фале есть колонка артикул.
У ячеек этой колонки различные форматы: если в значении есть буквы или символы, то формат общий, если же только цифры, то тут начинается самое веселое:
- если мы видим в ячейке, что первая цифра не ноль, то формат ячейки числовой и значение ячейки соответствует тому, что отображается;
- если мы видим что в ячейке отображается число с ведущим нулем (или двумя-тремя нулями), то формат почтовый индекс, при этом если отображается пять цифр (включая ведущие нули), то язык (местоположение) - Английский (США), если отображается шесть цифр (включая ведущие нули), то язык (местоположение) - Русский (Россия). При этом, не смотря на то, что отображается например "01234", значение в ячейке хранится - "1234". Или отображается "000601", а значение в ячейке при этом "601".
Как можно быстро преобразовать колонку или получить в другой колонке (формулой или макросом) значение, которое бы соответствовало тому что видно на экране?
Т.е. если в ячейке видно "01234", то в ней бы и хранилось "01234", а не "1234".
Если просто задать для колонки артикул формат "текстовый", то ведущие нули пропадают. А нужно чтобы они остались.
Сам файл присылают ежедневно. В нем порядка 5-6 тысяч строк.
Ниже образец с основными вариантами значений и форматов ячеек.
Образец.xlsx (8.68 КБ)  
Изменено: rsa76 - 01.02.2016 23:00:09
 
Выделил столбец - Формат ячеек - Общий. В "проблемных" ячейках отобразилось 3228 и 1077 соответственно, что в них и записано. Это нужно было?
Согласие есть продукт при полном непротивлении сторон
 
Если просто, то можно состряпать такую вот функцию пользователя:
Код
Function VisualVal(rc as range)
VisualVal = rc.Text
End Function
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
В том-то все и дело, что нужно чтобы в проблемных ячейках стали храниться и отображаться текстовые значения с ведущими нулями, т.е. "03228" и "001077" соответственно. Дело в том, что этот файл читают как пользователи глазками, так и программа 1С, и вот она-то (1С-ка) видит значение ячейки, т.е. "3228" и "1077". А пользователь при этом видит в открытом файле "003228" и "001077". Вот я и хочу, чтобы перед тем как скармливать 1С-ке этот файл, его преобразовать, чтобы значения ячеек соответствовали тому что видит пользователь, т.е."003228" и "001077". В принципе не важно в этой же колонке значения преобразуются в "003228" и "001077" или в новой колонке. Перед тем как скармливать 1С-ке колонки я заменю. Но вот как обработать 5 тысяч строк, из которых 1-2 тысячи вот такие корявые....?
Изменено: rsa76 - 01.02.2016 23:17:02
 
см. мое сообщение выше. Без кодов не сделать.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Пока писал ответ на сообщение Sanja Вы решение предложили.
Цитата
The_Prist написал: Если просто, то можно состряпать такую вот функцию пользователя:
Спасибо большущее. Кажется то, что нужно. Пошел курить функции пользователя. Еще раз спасибо.
 
Вот здесь я разные варианты вытаскивания видимого значения с их нюансами расписал: Видимое значение ячейки в реальное

Ваш файл взял за основу :)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
The_Prist написал: Вот здесь я разные варианты вытаскивания видимого значения с их нюансами расписал
Браво! Приятно видеть работу профессионала.
Страницы: 1
Читают тему
Наверх