Почему при обычной процедуре копирования макросом значений ячеек типа:
Sheets("Л1").Range("A1:N50").Value = Sheets("Л2").Range("A1:N50").Value
даты в ячеках, куда они копируются, превращаются в известные гадости типа 2/10/04 и уже не воспринимаются как даты. Использовать же копирование всего содержимого ячеек (типа Select-Copy-Past), а не только их значений - нежелательно.