Я хочу найти наибольшее значение (положительное или отрицательное) из определенного числа ячеек над ним и вставить под ним. Ниже приведен код для нахождения наибольшего значения для 6 ячеек над выходной ячейкой. Но я не знаю, как найти наибольшее значение, если число ячеек над ним для анализа больше или меньше 6. Он зацикливается, чтобы находить значения нескольких групп ячеек с количеством "n" ячеек над ним и создавать пустую ячейку, чтобы найти максимум. Я создал цикл, но я застрял в этом. Я думаю, что мой подход неверен. Я могу знать, сколько дел там. Я могу создать поле ввода, чтобы попросить пользователя указать, сколько дел, чтобы мы могли создать пустую строку после такого количества строк. Но я застрял в формуле, чтобы использовать для расчета стоимости. Я не могу вставить переменную внутри формулы. Если есть какой-то другой подход к этому, то я готов к этому.
Sub maxvalue()
Dim iRow As Integer, iCol As Integer
Dim oRng As Range
Dim nRng As Range
Set oRng = Range("A4")
iRow = oRng.Row
iCol = oRng.Column
Do
If Cells(iRow + 1, iCol) <> Cells(iRow, iCol) Then
Cells(iRow + 1, iCol).EntireRow.Insert Shift:=xlDown
Cells(iRow + 1, iCol + 1).Value = "max"
Cells(iRow + 1, iCol + 2) _
.FormulaR1C1 = "=IF(ABS(MAX(R[-6]C:R[-1]C))<ABS(MIN(R[-6]C:R[-1]C)),MIN(R[-6]C:R[-1]C),MAX(R[-6]C:R[-1]C))"
iRow = iRow + 2
Else
iRow = iRow + 1
End If
Loop While Not Cells(iRow, iCol).Text = ""
End Sub
Ниже представлена картина того, с чем я работаю и чего я ожидаю: