Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
245 / 55 / 6
Регистрация: 05.08.2010
Сообщений: 222
1

Как адекватно сконвертировать даты

05.08.2010, 14:33. Показов 708. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, спасибо за внимание,
есть такая проблема, существует колонка с датами, в таком формате
"Jan 2009" к примеру, формат ячейки general, нужно как то програмно сконвертить эту дату, чтобы эксель понимал это как дату и мог сортировать по датам а не как стринги. Я нашел такое решение (сам не знаю почему именно, но оно работает)

Visual Basic
1
2
3
4
5
6
Sub dat_conv(range1)
   For Each cell In range1.Cells
      cell.Value = Left(cell, 3) & Right(cell, 4)
      cell.NumberFormat = "mmm.yyyy"
   Next cell
End Sub
Все работает, но почему-то время выполнения такой вот конвертации критично большое, за целую одну минут он сконверчивает только в районе 2000 ячеек, есть ли какие-нибудь способы сделать все быстро ?????
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.08.2010, 14:33
Ответы с готовыми решениями:

Как адекватно работать с BackgroundWorker?
Здравствуйте. Прошу умельцев объяснить, как адекватно работать с BackgroundWorker'ом. Заранее...

как сконвертировать?
У меня есть массив char table. Массив с кодировкой формата 0x00 Я хочу переконвертировать...

Как сконвертировать форму из 8.1 в 8.2
Есть обработки, которые написаны под 8.1, но запуская в 8.2, он открываются, но элементы не форме...

Как адекватно считать и записать png файл?
Задание состоит в том, чтоб повернуть квадратную область png файла на 90 градусов по часовой...

2
здесь больше нет...
3374 / 1672 / 184
Регистрация: 03.02.2010
Сообщений: 1,219
05.08.2010, 15:17 2
у меня 6000 ячеек - 4 секунды
без 4-ой строки - 0,5 секунды

предлагаю так
Visual Basic
1
2
3
4
5
6
7
Sub dat_conv(range1)
   For Each cell In range1.Cells
      cell.Value = Left(cell, 3) & Right(cell, 4)
'      cell.NumberFormat = "mmm.yyyy"
   Next cell
   range1.NumberFormat = "mmm.yyyy"
End Sub
0,6 секунды.
1
245 / 55 / 6
Регистрация: 05.08.2010
Сообщений: 222
05.08.2010, 17:23  [ТС] 3
Спасибо, все ок теперь =) еще если апдейт скрина сделать и менять не напрямую в ячейках, и делать темповый масси, выходит еще быстрее =)

Цитата Сообщение от Belthazor4 Посмотреть сообщение
Спасибо, я на самом деле сделал как первее нагуглил =) первый раз сел за макросы и тут как то пришлось быстро обучаться с помощью гугла,
с помощью гугла про это узнал?
быстро ты с помощью гугла обучаешься

Добавлено через 2 часа 3 минуты
Что именно узнал? то что темп массив и апдейт скрин -? это мне подсказали, а вот с дроплистами конечно возни много вышло
0
05.08.2010, 17:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.08.2010, 17:23
Помогаю со студенческими работами здесь

Как адекватно задержать консоль в С++ Sublime Text?
Всем привет! Решил недавно прикрутить к Sublime Text 3, возможность компиляции файлов .сpp c...

Как сконвертировать pdf в docx?
Добрый вечер. Интересует следующее: кто может подсказать способ(если таковой имеется), как мне в...

Как сконвертировать byte[] в string
В реестре ключ в byte. Мне нужно его вытащить. И он должен быть в string. Как это сделать??????

Как сконвертировать BitMap в BLOB
Доброго вечера. У меня есть переменная BitMap (получаю фото с камеры), которую хочу записать в БД...


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

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