Как рассчитать различные результаты на основе различных входных значений с помощью одной формулы (Excel VBA) - PullRequest
0 голосов
/ 06 июля 2019

Я относительно новичок в 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

Было бы здорово, если бы кто-нибудь смог помочь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...