Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/12: Рейтинг темы: голосов - 12, средняя оценка - 4.50
lamden
0 / 0 / 0
Регистрация: 12.06.2010
Сообщений: 13
#1

EXCEL - Корежатся даты при копировании макросом

01.07.2010, 14:37. Просмотров 2186. Ответов 4
Метки нет (Все метки)

Почему при обычной процедуре копирования макросом значений ячеек типа:
Sheets('Л1').Range('A1:N50').Value = Sheets('Л2').Range('A1:N50').Value
даты в ячеках, куда они копируются, превращаются в известные гадости типа 2/10/04 и уже не воспринимаются как даты. Использовать же копирование всего содержимого ячеек (типа Select-Copy-Past), а не только их значений - нежелательно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2010, 14:37
Ответы с готовыми решениями:

Даты, которые при копировании в Excel из файла csv, форматируются как текст
Проблема такая. В папке есть энное кол-во файлов долбаного формата csv. Они...

Ошибка при массированном копировании Excel листов
Уважаемые VBA-гуру! Подскважите плз. почему возникает следующая проблема. ...

Ошибка 438 при закрытии объекта excel макросом с word
Привет, Ребята! Есть проблема. Помогите решить, пожалуйста! Есть макрос,...

Почему при копировании c Листа1 (Excel) в созданном текстовом файле информация содержится в ковычках?
Спецы!!! Прошу подсказать почему при копировании c Листа1 (Excel) в созданном...

Завершается работа Excel без возможности восстанавления при попытке сохранения файла со следующим макросом
Sub OW() Dim s As String ...

4
vlth
12 / 12 / 2
Регистрация: 23.03.2010
Сообщений: 635
01.07.2010, 17:14 #2
Можно подробнее, какого формата (вида) исходные даты
и во что они преобразуются? Какой формат ячеек Sheets('Л1').Range('A1:N50)
и Sheets('Л2').Range('A1:N50')?

PasteSpecial не пробовал?
0
lamden
0 / 0 / 0
Регистрация: 12.06.2010
Сообщений: 13
04.07.2010, 03:34  [ТС] #3
Пришлось, действительно, через PastSpe - тупо записать макрос в варианте сохранения форматов и значений... А корежит он совершенно по дурацки- 12.04.2004 превращает в 04/12/04? да еще вся эту радость оказывается текстом... В се это в честном, лицензионном, кристально русском...
0
vlth
12 / 12 / 2
Регистрация: 23.03.2010
Сообщений: 635
04.07.2010, 13:10 #4
Скорее всего, у тебя так сделаны системные настройки:
посмотри Пуск->Панель управления->Язык и стандарты->Дата

Кстати, преобразовать текст в дату нетрудно. Например:
Visual Basic
1
if isdate(cells(i,j)) then cells(i,j+1)=cdate(cells(i,j))
0
lamden
0 / 0 / 0
Регистрация: 12.06.2010
Сообщений: 13
05.07.2010, 16:11  [ТС] #5
ШАС-С-С-С!!! Как же, он не так воспитан - все установки - OK, а как дату этот текст он не желает воспринимать...
0
05.07.2010, 16:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2010, 16:11

При копировании ячеек из таблицы Word в Excel, программно, в каждую ячейку добавляется пара символов-прямоугольничков.
При копировании ячеек из таблицы Word в Excel, программно, в каждую ячейку...

Блокировать диапазон ячеек макросом, в зависимости от текущей даты
Доброго времени суток. Есть документ Excel, в нем код на блокировку столбцов, в...

Вызвать календарь для указания даты макросом в outlook
Привет друзья. Пишу макросс который организует автоматические события о...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru