Мне нужно сделать публичную функцию, которая принимает значения из определенного массива и вычисляет функцию f (x) для каждого x, где f (x) = x^3 + 1/5x +2. this is what I am doing but doesnt workКак использовать массивы в функциях VBA?
ответ
Комментарий Jeeped является очень вероятной причиной неправильного функционирования вашего кода, если у вас нет Option Base 1
в верхней части вашего кода. так как у вас есть/место, заявление или изменить ReDim
заявления ReDim B(1 To nrows, 1 To ncols) As Double
кроме того вы должны инвертировать Next I
и Next j
наконец я хотел бы предложить вам:
использования
Long
переменной типа вместоinteger
дляnrows
иi
переменных, если вы когда-нибудь имеете дело сdatarange
с более чем 32767 строками. и предположим, один и тот же тип дляncols
иj
для простотыиспользовать «простой» (не массив) двойную переменную для
A
, поскольку вам нужно только как временный «х» значение для расчета соответствующего «у» значение и магазин это последнее только в массиве B(), которое в конечном итоге будет возвращено вашей функцией.
так что это может быть:
Function functionvalue(datarange)
Dim nrows As Long, ncols As Long
Dim i As Long, j As Long
Dim A As Double, B() As Double
nrows = datarange.Rows.Count
ncols = datarange.Columns.Count
ReDim B(1 To nrows, 1 To ncols) As Double
For i = 1 To nrows
For j = 1 To ncols
A = datarange.Cells(i, j)
B(i, j) = A^3 + A * 1/5 + 2
Next j
Next i
functionvalue = B
End Function
- 1. Распределенные массивы в функциях
- 2. Справочные массивы в JS-функциях
- 3. Java-программирование, массивы в функциях
- 4. Массивы как адресные константы в функциях
- 5. Многомерные массивы в функциях в c
- 6. Как использовать счетчики в функциях
- 7. Как использовать $ (this) в функциях?
- 8. массивы с одинаковыми именами в разных функциях
- 9. Изменяет массивы в нескольких функциях плохой практики?
- 10. Редублирующие массивы в VBA
- 11. VBA-массивы в Word
- 12. Как написать многомерные массивы в функциях? C для начинающих
- 13. Ассоциативные массивы VBA (как индексировать)
- 14. Excel - VBA | Массивы | Петля
- 15. Как использовать счетчик в качестве аргумента в функциях?
- 16. Массивы строк в Excel VBA
- 17. VBA-массивы и операторы
- 18. VBA-массивы и варианты
- 19. Когда использовать курсор в функциях
- 20. Зачем использовать * let * в функциях?
- 21. Looping через массивы в VBA
- 22. списки и массивы в VBA
- 23. Как использовать assert в async-функциях? (Typcript)
- 24. Как использовать функциональную переменную в других функциях
- 25. jQuery задумываясь, как использовать контекст в функциях
- 26. Как использовать PHP в функциях Javascript
- 27. Как использовать согласованные аргументы в функциях elixir
- 28. Как использовать рекурсивные связанные типы в функциях?
- 29. Как использовать $ (this) в jquery-функциях?
- 30. Как использовать глобальные переменные в функциях python?
Пожалуйста, разместить код в линию, а не в виде изображения. Используйте кнопку редактирования для этого. – vacip
Кроме того, что именно вы подразумеваете под «не работает»? Сообщение об ошибке? Неверный результат? – vacip
Это работает для меня. – vacip