Excel, измените формат даты, затем сделайте так, чтобы ВСЕ ячейки в столбце выглядели по-новому - PullRequest
0 голосов
/ 14 декабря 2011

У меня есть файл, в котором столбец даты находится в формате, в котором я не могу выполнять вычисления, поэтому я изменил столбец на другой формат, в котором я могу вычесть даты. Как это обычно бывает с Excel, только когда я дважды щелкаю на записи, она меняется на новый формат.

Кто-нибудь знает, как я могу заставить все ячейки в столбце перейти на новый формат, чтобы мой скрипт мог вычитать даты для всего файла?

Ответы [ 4 ]

1 голос
/ 25 августа 2014

Вот действительно легкий обходной путь:

  1. Вставьте пустой столбец.

  2. Измените формат пустого столбца на нужный вам формат даты.

  3. Скопируйте столбец с датами, которые не будут форматироваться.

  4. Щелкните правой кнопкой мыши первую ячейку пустого отформатированного столбца, выберите Специальная вставка, выберите Вставить: Значения и Операция: Добавить. (Поскольку ячейки назначения не заполнены, даты не будут изменены.) Нажмите кнопку ОК.

  5. Даты теперь будут отображаться как даты.

0 голосов
/ 15 декабря 2011

Вы также можете попробовать =Datevalue() в соседнем столбце.Мой опыт в подобных ситуациях заключается в том, что Excel не понимает, что ваши записи являются датами.Они являются текстовыми и не изменятся на сегодняшний день просто при изменении формата.В качестве альтернативы вы можете попробовать преобразовать текст в столбцы.

0 голосов
/ 13 февраля 2014

Попробуйте это в вашем vbScript

objExcel.Cells(Row, Column).NumberFormat = "#0.00"
0 голосов
/ 14 декабря 2011

Если вы просто хотите сделать это через VBA, вы можете использовать что-то вроде этого:

Range("C1:C100").NumberFormat = Range("B2").NumberFormat

Приведенный выше пример просто меняет формат для ячеек C1-C100 на тот, который имеет формат в B2.

Обновление : я заметил, что вы сказали, что формат работает нормально, но отображается как #######.Обычно это происходит, когда столбец недостаточно широк, чтобы показать все значение, поэтому изменение размера вручную или с помощью чего-то вроде belwo должно решить вашу проблему:

Columns("C:C").EntireColumn.AutoFit
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...