Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
223 / 134 / 45
Регистрация: 08.09.2012
Сообщений: 283
Записей в блоге: 1
1

Как отменить автоматическое преобразование формата ячейки из общего ил текстового в дату?

03.03.2018, 14:56. Показов 2372. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Необходимо в ячейке заменить дефис на ноль. Предварительно в свойствах ячейки выставлял и общий, и текстовый форматы, ничего не помогает - сразу после замены Excel преобразует автоматически формат ячейки и получается фев.00
Это можно побороть?
Visual Basic
1
2
3
4
Range("A1").NumberFormat = "@"
'Range("A1").NumberFormat = "General"
Range("A1") = "2/-"
Range("A1").Replace What:="-", Replacement:="0"
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2018, 14:56
Ответы с готовыми решениями:

Преобразование формата: число в дату и время
Здравствуйте. Имею в БД, в одной колонке тип данных: 41597,0179615509 41597,1092185185...

Access 2007. Преобразование текстового формата данных в числовой.
Уважаемые специалисты, помогите пожалуйста решить такую вот задачу:Имеется таблица с полями...

Преобразование исходного текстового формата txt в таблицу xls
Здравствуйте, подскажите пожалуйста как перевести из *.txt файла в *.xls, просмотрев несколько...

Как отменить автоматическое обновление перекрёстных ссылок
Вот такая проблема: в дипломе куча ссылок и многие обновлять нельзя, т.к. меняется падеж, число, в...

4
3897 / 2302 / 776
Регистрация: 02.11.2012
Сообщений: 6,123
03.03.2018, 15:13 2
Лучший ответ Сообщение было отмечено aequit как решение

Решение

Visual Basic
1
2
Range("A1").NumberFormat = "@"
Range("A1") = Replace("2/-", "-", 0)
1
223 / 134 / 45
Регистрация: 08.09.2012
Сообщений: 283
Записей в блоге: 1
03.03.2018, 15:21  [ТС] 3
Спасибо, так проблема решается.
Только значение в ячейке может быть разное, так что лучше реплейсить значение в ячейке
Visual Basic
1
2
3
Range("A1").NumberFormat = "@"
Range("A1") = "2/-"
Range("A1") = Replace(Range("A1"), "-", 0)
Жалко, что в настройках Excel невозможно отменить такую навязчивую "помощь" пользователям.
0
3897 / 2302 / 776
Регистрация: 02.11.2012
Сообщений: 6,123
03.03.2018, 15:25 4
2 строчка возможно не нужна. вы с помощью её в А1 записываете значение а потом его от туда преобразуете. Правильнее сначало преобразовать, потом записать.
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36606 / 20334 / 4221
Регистрация: 12.02.2012
Сообщений: 33,653
Записей в блоге: 13
04.03.2018, 09:03 5
Чтобы отменить автопреобразование, ставьте перед значением одиночный апорстроф. Он в значение не войдет, но автопреобразование отменится.
2
04.03.2018, 09:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.03.2018, 09:03
Помогаю со студенческими работами здесь

Как в документе отменить автоматическое обновление ВСЕХ стилей?
У меня проблема - работаю с документами, над которыми трудилось до этого очень много людей и в...

Как отменить редактирование ячейки dataGridView?
Всем, добрый день! Как отменить редактирование ячейки dataGridView? то есть ввели новое значение,...

Как вытащить дату из полного формата?
30.05.2001 1:04:40 - дата, которая хранится в поле базы данных Нужно взять только дату без...

Как прочитать дату формата DD.MM.YY средствами stdio
Здравствуйте, вопрос такой - как в C++ прочитать с клавиатуры дату в формате ДД.ММ.ГГ, (с ведущим...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru