Я пытаюсь создать vba формулу для двух диапазонов в одном наборе данных, как входные переменные lastRow и lastRow2. Однако, когда я пытаюсь создать и вычислить формулу, вместо того, чтобы получить значение последней ячейки, я получаю нуль. Оскорблять код ниже:Excel VBA- Динамическая формула, возвращающая нулевое значение для диапазона
Dim lastRow As Long
Dim lastRow2 As Long
lastRow = Range("A" & Rows.Count).End(xlUp).Row
lastRow2 = Range("M" & Rows.Count).End(xlUp).Row
...
'Calculate ATRT 2014 at cell B4
Range("B6").Formula = "=(SUM(J11:J" & lastRow & ")/ SUM(I11:I" & lastRow & "))"
Range("E6").Formula = "=(SUM(U11:U" & lastRow2 & ")/ SUM(T11:T" & lastRow2 & "))"
Range("H6").Formula = "=E6-B6"
Запуск этого получает две формулы: = (SUM (J11: J0)/сумма (I11: I0)) и = (SUM (U11: U0)/SUM (T11: T0)) , Почему конец диапазона равен нулю ???
Хе-хе, вот что я задал в другом вопросе. Все ли диапазоны на одном листе? – findwindow
Да, диапазоны находятся на одном листе, в той же таблице. 1 таблица, но два разных диапазона –
Хм, вы работаете с макросом, пока активна личность? Если так, то я в тупике. Если вы на самом деле не имели в виду столбцы A/M ... Edit: huh. Даже если столбец пуст, он все равно должен быть не менее 1 .... нам нужно больше кода. – findwindow