Страницы: 1
RSS
Формат даты в функции ТЕКСТ для компьютеров с разной локацией
 
Здравствуйте,
заголовок (ячейка) с формулой
Код
="Closing exchange rate table - " & ТЕКСТ(A1;"гггг МММ дд")

мой файл рассылается по всему миру. и у других формула не работает из-за "гггг ММ дд"
пробовал через макрос ставить формула таким образом
Код
mWs.Cells(2, 2).Formula = "=""Closing exchange rate table - "" & text(A1,""yyyy MMM dd"")"

не получается.
есть идеи как сделать чтобы у всех работало?
p.s. макросом подготовить текст и вставить как значение, не подходит, так как ячейка A1 может пользователем меняться (там дата стоит)
Изменено: vikttur - 08.06.2021 13:37:09
 
manat78, Здравствуйте, тема с ответом на ваш вопрос ССЫЛКА
 
Александр П., Спасибо. Все просто оказывается. проверить на ошибку и дать другой вариант.  но тогда меня волнует вопрос, возможно ли что в какой то стране будет не dd.MMM.yyyy  и не дд.МММ.гггг
 
для себя я решил таким образом. установил на ячейку(которую не видно пользователю) желаемый формат, затем в макросе беру ее формат (NumberFormatLocal) и затем вставляю в этот формат в формула ТЕКСТ
 
Просто делается ветвление
IF(TEXT(1;"D")="1";"дд.МММ.гггг";"dd.MMM.yyyy")
Дело ведь не только в том что вставить правильно в текущий момент, а чтоб оно работало при разных региональных установках в дальнейшем.
Изменено: vikttur - 08.06.2021 13:36:35
По вопросам из тем форума, личку не читаю.
 
действительно, я об этом не подумал, что если после запуска, пользователь поменяет, локацию то перестанет работать. Я просто не пойму ваш вариант, а если какой нить бельгиец зайдет со своими локалями, разве dd. MMM.yyyy поймется?
Изменено: vikttur - 08.06.2021 17:27:43
 
Цитата
manat78 написал:
как сделать чтобы у всех работало?
что должно получиться вместо этого ТЕКСТ(A1;"гггг МММ дд")  в Японии, если в А1 сегодня (08.06.2021)
что??? (должно получиться)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
2021年6月8日
Владимир
 
я что, японский настолько суров, что пробелов там нет?
Изменено: Ігор Гончаренко - 08.06.2021 15:14:25
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Здравствуйте, Игорь! Японский не знаю абсолютно. Подсмотрел в Libre Office. Google переводчик подтверждает. :)
Метод из #4 вполне жизнеспособен, если разрешены макросы. Аналогично можно также через Excel 4.0 Macro GET.CELL(53, cell), где в ячейке cell содержится дата в требуемом формате. Если макросы не разрешены, то не знаю, как выдать сокращенное локализованное название месяца.

Можно выдавать дату в ISO формате: 2021-06-08, тогда можно обойтись формулами.
Изменено: sokol92 - 08.06.2021 17:33:26
Владимир
 
Цитата
manat78 написал:
dd. MMM.yyyy поймется?
надо проверять я не знаю но Jour явно не с D  :D
jj-mm-aaaa в французской версии

А медведь всегда говорил : Локализация- вред
Изменено: БМВ - 08.06.2021 19:59:42
По вопросам из тем форума, личку не читаю.
 
Цитата
Ігор Гончаренко написал:
Цитата
manat78 написал:
как сделать чтобы у всех работало?
что должно получиться вместо этого ТЕКСТ(A1;"гггг МММ дд")  в Японии, если в А1 сегодня (08.06.2021)
что??? (должно получиться)
должно получится формула ="мой текст " & японскоеТЕКСТ(А1; "[$-809]японский аналог гггг МММ дд")
и результат такой "мой текст 2021 Jun 08"
Изменено: manat78 - 09.06.2021 03:54:37
 
Цитата
sokol92 написал:
то не знаю, как выдать сокращенное локализованное название месяца.
кажется легче в каком нибудь листе проставить месяца как текст и потом индексом подтягивать необходимый месяц

а название месяца можно вытянуть с помощью кода языка например =ТЕКСТ(дата;"[$-040c]гггг МММ дд") даст на франзуском. единственно что написать вместе гггг ММ дд если открывает японец например (без макросов кажется не получится)
Изменено: manat78 - 16.06.2021 06:04:26
 
manat78, вернитесь, приведите в порядок сообщения. Цитата - не тупое копирование!
 
Цитата
vikttur написал:
Цитата - не тупое копирование!
Если вы про то что надо цитировать не все сообщение а только, то на что отвечаешь, то исправил
Страницы: 1
Читают тему (гостей: 1)
Наверх