Excel VBA не будет правильно форматировать дату после фрагмента - PullRequest
0 голосов
/ 27 октября 2011

Я новичок в VBA и в последнее время довольно много об этом читал, хотя столкнулся с небольшой проблемой, на которую не могу найти ответ.

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

В один из этих столбцов должна быть включена дата выходного дня, когда отчет был представлен - дата находится в ячейке (N10) и выглядит следующим образом:

Неделя: 2011 г. 36:02 октября 11 - 08 октября 11

Итак, я нарезал эту ячейку и ввел ее в другую ячейку (C14) с этим битом кода:

 Range("C14") = "=Right($N$10, 9)"

Я могу получитьчасть строки "08.10.11", но не может получить ее в формате am / d / yyyy.Это часть кода, которую я использую для форматирования даты:

 Columns("C:C").NumberFormat = "m/d/yyyy"

Я предполагаю, что эту ячейку нужно отформатировать больше, чтобы затем отформатировать как дату, но я 'Я не уверен, с чего начать.

Спасибо

1 Ответ

2 голосов
/ 27 октября 2011

Функция Right вернет строку, вам нужно преобразовать ее в дату.Есть множество способов сделать это, одним из способов может быть использование функции Value :

Range("C14") = "=Value(Right($N$10, 9))"

Это даст C14 значение 40824 (см. this для объяснения), но как только вы примените свой NumberFormat, он будет отображаться как 10/8 / 2011.

...