2014-09-04 3 views
0

У меня есть набор ежедневных данных временных рядов, охватывающих тысячи строк с соответствующими переменными по нескольким столбцам. Я хотел бы создать легенду о датах начала и окончания набора, округленных до ближайшей даты работы. Я использую функцию рабочего дня(), но не могу правильно ссылаться на последнюю строку ...Замещение переменной «последней строки» в функцию рабочего дня/формулу

Lastrow = Cells(Rows.Count, 1).End(xlUp).Row 
ActiveSheet.Cells(3, 15).FormulaR1C1 = "=workday((r&Lastrow)c[-14],-1)" 

Я возвращающая 1004 ошибки во время выполнения этой части кода, уход никому объяснить, где ошибка есть?

+0

Формула сама содержит ошибку. Просто ввод «= рабочий день ((r & Endvalue) c [-14], - 1)» в ячейку дает мне ту же ошибку, поэтому проблема - это формула, а не код VBA. Кроме того, я замечаю, что эта формула не ссылается на вашу переменную 'Lastrow'. Это намеренно? Пожалуйста, укажите больше контекста. – AFischbein

+0

Спасибо, что указали, что ссылка на ссылку «Lastrow» исправлена ​​ – Xavier

ответ

0

Lastrow - переменная VBA, поэтому вы не можете ссылаться на нее в формуле - рабочий лист не знает, что это за переменная. Возможно, вы имели в виду нечто подобное?

"=workday(r[" & Lastrow & "]c[-14],-1)" 

Кроме того, удалите лишние скобки и убедитесь, что флажок «R1C1 Reference Style» для этой работы.

+0

Спасибо, что получилось отлично. – Xavier

Смежные вопросы