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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2010, 11:22   #1
kipish_lp
Форумчанин
 
Регистрация: 25.11.2009
Сообщений: 113
По умолчанию Преобразовать дату в текст без формул

Здравствуйте, подскажите пожалуйста, как в vba преобразовать 01.01.2010 в "январь". Я знаю, что можно формулой "ТЕКСТ", но мне надо, чтобы без формул.
kipish_lp вне форума Ответить с цитированием
Старый 11.05.2010, 11:52   #2
ELE-COM
Пользователь
 
Регистрация: 08.05.2010
Сообщений: 48
По умолчанию

Selection.NumberFormat = "[$-419]mmmm;@"
ELE-COM вне форума Ответить с цитированием
Старый 11.05.2010, 11:53   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Пусть ячейка "A1" содержит дату. Тогда получить имя месяца можно так:
Код:
MsgBox MonthName(Month([A1]))
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 11.05.2010, 12:01   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Трудно угадать что Вы хотите получить в итоге.
Если я правильно понял то:
есть ячейка (группа ячееек) с датами типа 01.01.2010, а хочется что бы там был указан месяц.
Отмечаете эти ячейки, правой кнопкой по ним, формат ячейки, выбираете все форматы, в поле тип пишете [$-F419]ММММ
мало того что это без формул, еще и без ВБА.
Но, кажись не угадал с ответом.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 11.05.2010, 13:01   #5
kipish_lp
Форумчанин
 
Регистрация: 25.11.2009
Сообщений: 113
По умолчанию

Цитата:
есть ячейка (группа ячееек) с датами типа 01.01.2010, а хочется что бы там был указан месяц.
Нет, не там. Если я в макросы залезла, то наверное я умею с форматом ячеек работать.
Все предложенные варианты по отдельности работают, а конкретно в моем макросе нет.
Ситуация какая: Есть макрос сбора данных из разных книг, работает хорошо, просто замечательно. Универсальный для меня. Но в этом месте
Код:
sh1.Cells(Shet1 + L1, 10) = Value2(1, m)
m выдает значение 01.01.2010, а надо "Январь"
Понимаю, что надо пример, дам позднее
kipish_lp вне форума Ответить с цитированием
Старый 11.05.2010, 13:06   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Ну, так подставьте вместо m
Код:
MonthName(Month(m))
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 11.05.2010, 13:18   #7
kipish_lp
Форумчанин
 
Регистрация: 25.11.2009
Сообщений: 113
По умолчанию

Type mismatch
kipish_lp вне форума Ответить с цитированием
Старый 11.05.2010, 13:43   #8
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Если переменная m - дата, то MonthName(Month(m)) будет содержать имя месяца. Если переменная m - текст, то его нужно преобразовать в дату CDate(m). что такое Value2(1, m), кроме Вас не знает никто. Не хотите выкладывать пример - ищите ошибку самостоятельно.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 11.05.2010, 14:38   #9
kipish_lp
Форумчанин
 
Регистрация: 25.11.2009
Сообщений: 113
По умолчанию

Приношу свои извинения, вот файлы. Просто раньше не могла, политика организации.
Переименовать названия столбцов не могу, т.к. они мне такими нужны, а вот в файл "(База)" надо именно месяц текстом.
Вложения
Тип файла: rar 12.rar (198.4 Кб, 24 просмотров)
kipish_lp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из тыс. ед. преобразовать в ед. без формул и новых таблиц kolyanya Microsoft Office Excel 2 30.04.2010 12:02
Как преобразовать дату которая находится в предложении? KOSTIK1 Microsoft Office Excel 6 24.11.2009 00:02
Преобразовать в дату Iskin Microsoft Office Excel 2 14.04.2009 07:57
Преобразовать в дату Marvel Microsoft Office Excel 21 22.01.2009 06:42
Преобразовать текст в числовой olimpus Microsoft Office Excel 17 12.11.2008 07:58