Проблема с форматом дат при выгрузке данных ACC>Excel

Программирование на Visual Basic for Applications
Ник
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 20.09.2006 (Ср) 11:40

Проблема с форматом дат при выгрузке данных ACC>Excel

Сообщение Ник » 20.09.2006 (Ср) 13:41

Импортирую данные в многолистовую книгу Excel с помощью CopyFromRecordset. Даты выгружаются в формате дат только на первый лист, на все остальные - в числовом формате (то есть вместо 20.09.2006 - 38980). В исходном виде выгружаемым данным четко прописан формат даты.
Это конечно, не страшно, но несколько напрягает. Что делать-то? (естественно, в vba. Единственное, что приходит в голову, это написать дополнительную обработку, которая после заполнения сменит формат нужным ячейкам, но это ИМХО будет очень муторно)

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Re: Проблема с форматом дат при выгрузке данных ACC>Excel

Сообщение KL » 20.09.2006 (Ср) 18:23

Привет Ник,
Ник писал(а):Импортирую данные в многолистовую книгу Excel с помощью CopyFromRecordset. Даты выгружаются в формате дат только на первый лист, на все остальные - в числовом формате (то есть вместо 20.09.2006 - 38980).
На первом листе формат дат скорее всего уже был применен к ячейкам до выгрузки данных. Для Excel нормально импортиртировать даты из др. аппликаций как серийные номера (кстати хороший знак - даты распознаны).


Ник писал(а):В исходном виде выгружаемым данным четко прописан формат даты.
Excel доверяет только своим форматам - внешние форматы используются лишь для того, чтобы распознать дату.

Ник писал(а):Что делать-то? (естественно, в vba. Единственное, что приходит в голову, это написать дополнительную обработку, которая после заполнения сменит формат нужным ячейкам, но это ИМХО будет очень муторно)
Не так уж и муторно:

Код: Выделить всё
Sub test()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.Range("A:A,D:D,E:E,X:X").NumberFormat = "dd/mm/yyyy"
    Next ws
End Sub
Привет,
KL

Ник
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 20.09.2006 (Ср) 11:40

Сообщение Ник » 21.09.2006 (Чт) 11:50

На первом листе формат дат скорее всего уже был применен к ячейкам до выгрузки данных.

Так в том-то и дело, что нет

Не так уж и муторно:

Да это понятно. я о том, что муторно все нужные поля вписывать:) А потом изменись что, заново переназначать?


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 37

    TopList