Проблема Excel VBA:
У другого человека возникла проблема с функцией NOW (), поскольку он хотел, чтобы она возвращала статическую дату и время без необходимости копировать и вставлять значение обратно.Я предложил пользовательскую функцию, которая корректно возвращает текущую дату и время в статической форме.Проблема заключается в том, что свойство NumberFormat игнорируется, и в результате появляется число.
Я пробовал несколько других решений для форматирования, но они также игнорируются или приводят к ошибкам.
Public Function DateNow() As Date
ActiveCell.NumberFormat = "[$-en-US]m/d/yy h:mm AM/PM;@"
DateNow = Now
End Function
Ожидаемым результатом будет статическая текущая дата и время.Повторить;код верен, за исключением части, которая говорит ActiveCell.NumberFormat ..., которая не вступает в силу.
Редактировать: я прочитал комментарии ниже и попытался обновить его, чтобы включить вызов подпрограммы, новсе еще не повезло.Может ли кто-нибудь направить меня к обходному пути?Спасибо.
Public Function DateNow() As Date
DateNow = Now
Call DateSub(ActiveCell)
End Function
Public Sub DateSub(rg As Range)
rg.NumberFormat = "[$-en-US]m/d/yy h:mm AM/PM;@"
End Sub