Excel дата в формате VBA - PullRequest
       7

Excel дата в формате VBA

0 голосов
/ 20 сентября 2018

Я устанавливаю значение ячейки на текущую дату, используя следующий код

rng.Value = Format(Now(), "dd/mm/yyyy")
rng.NumberFormat = "dd/mm/yyyy"

Когда я запускаю этот код, дата вставляется в ячейку, формат «Дата», но данныев ячейке выровнен по левому краю.Формулы не интерпретируют значение как дату.

Cell using code above

Когда я щелкаю в ячейке и затем нажимаю клавишу ВВОД, значение сдвигается вправо, и теперь дата работает с формулами.

enter image description here

Если я введу дату вручную, формулы также будут работать.Только когда я использую VBA.

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Два замечания.1. Вы фактически вставляете и дату, и время (это то, что возвращает функция NOW).Если вам нужна только дата, используйте вместо нее функцию VBA Date.2. Как уже упоминалось в комментариях ashleedawg, Format возвращает строку.Измените свой код на:

rng.Value = Date
rng.NumberFormat = "dd/mm/yyyy"
0 голосов
/ 20 сентября 2018

Не форматируйте ввод, отформатируйте ячейку (и вы можете просто использовать Date):

rng.Value = Date
rng.NumberFormat = "dd/mm/yyyy"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...