Звучит достаточно просто: просто сохраните дату в переменной, взятой из ячейки. Это все, что мне действительно нужно. Но я продолжаю получать ошибку «Object required».Excel (2010) VBA: введите дату как переменную и сохраните ее
У меня есть переменная, называемая ячейкой, а информация, которая мне нужна, - это смещение двух и трех столбцов влево (так что -2 и -3 с использованием смещения). Я попытался использовать строковую переменную и преобразовать ее в CDate(), я попытался использовать целое число и сохранил его там, я пробовал datevalue. Я в недоумении. Вот последняя версия моего кода ...
Function daysBetween(percent, quarters, cell As Range) As Boolean
'this function returns true if the date is past the allotted time for the group
cell.Select
Dim target As String
Dim issue As String
Dim targetCell As Range
Dim issueCell As Range
Set targetCell = ActiveCell.Value
Set targetCell = targetCell.Offset(0, -2)
Set issueCell = ActiveCell.Value
Set issueCell = issueCell.Offset(0, -3)
Set issue = DateValue(issueCell).Value
Set target = DateValue(targerCell).Value
If ((target - issue - (Date - target))/(target - issue)) > (percent * quarters) Then
daysBetween = True
End If
End Function
Спасибо, я сожалею о том, как грязный это ... Я учу себя VBA, я не знаю, что я делаю 75 % времени :)
Я наконец-то увидел что-то об этом по другому вопросу (я уже пару часов просидел через Интернет). Теперь он компилируется ... но он также дает мне «Ошибка времени выполнения 91: объектная переменная или с переменной блока не установлена» ... :( – seadoggie01
@ seadoggie01 Используйте другое имя переменной для переменной диапазона и ее значение. –
I не совсем понимаю, извините ... вы можете объяснить немного больше? @ ученик gary – seadoggie01