VBA excel - ячейки, содержащие даты, возвращают пустые значения - PullRequest
0 голосов
/ 03 января 2019

по какой-то причине я не могу запустить такие функции, как Datediff (e.g. Range("K2") = DateDiff("yyyy", A2, J2), поскольку VBA показывает "A2" и "J" 2 как пустые, но это не так (и они отформатированы как даты, то есть "yyyy/mm/dd".

Кто-нибудь когда-нибудь сталкивался с чем-то подобным?

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Вам нужно назвать ячейки как объекты в функции. Это будет Range («A2») и Range («J2»).

Также важно сообщить функции, что вам нужно значение этого объекта, что действительно находится в ячейке, поэтому добавьте .value в конце каждого диапазона ячеек (например, Range (“A2”). Value)

Кроме того, эта функция будет возвращать что-то вроде «yyyy0103», а не «yyyy / 01/03», как вы ожидаете.

Добавить это: DateDiff («гггг /», диапазон («A2»). Значение & «/«, диапазон («J2»). Значение)

0 голосов
/ 03 января 2019

вы имеете в виду

    Range("K2") = DateDiff("yyyy", Range("A2"), Range("J2"))

другим способом Vba показывает их как пустые, потому что они пусты как переменные

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