Функция VBA не сохраняется - PullRequest
0 голосов
/ 24 января 2020

Я написал свою собственную функцию для вычислений, которую приходится делать очень часто. Проблема в том, что когда я записываю его в файл xlam, в котором хранятся все мои функции, эта конкретная функция не сохраняется. После закрытия EXCEL и повторного открытия он исчезает. Я прибил проблему к решению, которое неправильно с кодом. Но до сих пор я не мог понять, что не так с моим кодом.

Вот мой код.

Function isotpologues(R_13 As Variant, R_17 As Variant, R_18 As Variant, u_r13 As Variant, u_r17 As Variant, u_r18 As Variant) As Variant()

Dim results As Variant
ReDim results(1 To 11, 1 To 3)

results(1, 1) = "R_12_16_17"
results(2, 1) = "R_12_16_18"
results(3, 1) = "R_12_17_17"
results(4, 1) = "R_12_17_18"
results(5, 1) = "R_12_18_18"

results(6, 1) = "R_13_16_16"
results(7, 1) = "R_13_16_17"
results(8, 1) = "R_13_16_18"
results(9, 1) = "R_13_17_17"
results(10, 1) = "R_13_17_18"
results(11, 1) = "R_13_18_18"

results(1, 2) = 2 * R_17

results(2, 2) = 2 * R_18

results(3, 2) = R_17 ^ 2

results(4, 2) = R_17 * R_18 * 2

results(5, 2) = R_18 * R_18


results(6, 2) = R_13

results(7, 2) = R_13 * R_17 * 2

results(8, 2) = R_13 * R_18 * 2

results(9, 2) = R_13 * R_17 ^ 2

results(10, 2) = R_13 * R_17 * R_18 * 2

results(11, 2) = R_13 * R_18 * R_18


results(1, 3) = 2 * (u_r17) * 2

results(2, 3) = 2 * (u_r18) * 2

results(3, 3) = 2 * (R_17) * (u_r17) * 2

results(4, 3) = (4 * R_17 ^ 2 * u_r18 ^ 2 + 4 * R_18 ^ 2 * u_r17 ^ 2) ^ 0.5 * 2

results(5, 3) = 2 * (R_18) * (u_r18) * 2

results(6, 3) = (u_r13) * 2

results(7, 3) = (4 * R_13 ^ 2 * u_r17 ^ 2 + 4 * R_17 ^ 2 * u_r13 ^ 2) ^ 0.5 * 2

results(8, 3) = (4 * R_13 ^ 2 * u_r18 ^ 2 + 4 * R_18 ^ 2 * u_r13 ^ 2) ^ 0.5 * 2

results(9, 3) = (4 * R_13 ^ 2 * R_17 ^ 2 * u_r17 ^ 2 + R_17 ^ 4 * u_r13 ^ 2) ^ 0.5 * 2

results(10, 3) = (4 * R_13 ^ 2 * R_17 ^ 2 * u_r18 ^ 2 + 4 * R_13 ^ 2 * R_18 ^ 2 * u_r17 ^ 2 + 4 * R_17 ^ 2 * R_18 ^ 2 * u_r13 ^ 2) ^ 0.5 * 2

results(11, 3) = (4 * R_13 ^ 2 * R_18 ^ 2 * u_r18 ^ 2 + R_18 ^ 4 * u_r13 ^ 2) ^ 0.5 * 2

isotpologues = results

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