Я относительно новичок в Excel VBA, поэтому у меня есть некоторые проблемы.
Я построил матрицу (Пуассона) с диапазоном "EB5:EV25"
, где каждая ячейка содержит формулу, которая в основном (не только) умножает два входных значения, например, они выглядят как
=POISSON(0;$H$2;FALSE)*POISSON(0;$H$2;FALSE)
где "$H$2"
и "$H$2"
- мои первые два входных значения.
Результаты представлены в "EB33:ED33"
, где в каждой из трех ячеек суммируется сумма определенной части вышеприведенной матрицы.
Допустим, столбец с одним из входных значений - H, а столбец с другими входными значениями - K (значения находятся в каждой 82-й строке). Таким образом, для каждой 82-й строки столбцов H и K моя матрица в "EB5:EV25"
вычисляет результаты и представляет их в "EB33:ED33"
. Это решение до сих пор позволяет представлять результаты только одной пары входных переменных за раз - мне нужно вручную изменить строку входных переменных в моей матрице.
Однако я, наконец, не хочу представлять свои результаты в "EB33:ED33"
, но в другом столбце, скажем "BA:BC"
, через 2 строки после строки, содержащей входные значения (отдельно для каждой строки входных значений).
Я уже опробовал некоторый код, но я даже не могу работать с входными переменными, которые находятся в разных столбцах, и мой код не меняет входные значения - для каждой строки входных значений результаты всегда одинаковы (я не меняется).
Dim i As Integer
Dim rng As Range
Set rng = Range("EB5:EV25")
For i = 3 To Cells(Rows.Count, 8).End(xlUp).Row Step 82
rng.Replace "$" & i - 1, "$" & i
Application.Calculate
Range("EB33:ED33").Copy
Cells(i + 1, 63).PasteSpecial xlValues
Next i
Set rng = Nothing
End Sub
Было бы здорово, если бы кто-нибудь смог помочь!