Как скопировать и вставить текст даты из диапазона отфильтрованных ячеек в CSV? - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь скопировать диапазон отфильтрованных ячеек с форматированием даты в файл CSV.Я хочу текст даты, а не код даты.

Это то, что я имею до сих пор.Он получает код даты, но я хочу текст.

.Range.Columns(EmployeeEffectiveDateCol).Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy
    TemplateSheet.Range("G2").PasteSpecial (xlPasteValues)

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Хорошо, я не думаю, что ответ на это существует!Ха-ха.Я не могу найти способ захватить ТЕКСТ диапазона отфильтрованных ячеек, НО я придумал обходной путь, который подойдет.

CSV-файл открыт в Excel, пока я его заполняю.В это время ячейки могут быть отформатированы, но форматирование теряется при закрытии файла.Итак, мне нужно сбросить ячейки перед сохранением и закрытием.Для этого я нашел цикл, который можно вызвать сразу после завершения копирования / вставки:

TemplateSheet.Range("G2:G500").NumberFormat = "dd/mm/yyyy"
For Each Cell In TemplateSheet.Range("G2:G500")
  Cell.Value = Cell.Text
Next Cell

Это, конечно, требует Dim Cell As Range в верхней части кода.Это не такое элегантное решение, как я надеялся, но мне просто нужно сделать работу сейчас!Ха-ха.Это тоже работает довольно быстро.

0 голосов
/ 12 декабря 2018

Вы можете изменить .PasteSpecial (xlPasteValues) на .PasteSpecial (xlPasteAll)

Он будет не только вставлять значения, но и копировать форматы ячеек (в данном случае - даты).

Надеюсь, что этопомогает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...