Страница: 1 |
Вопрос: Массивы vs подпрограммы | Добавлено: 20.08.08 14:40 |
Автор вопроса: ![]() |
Доброго времени суток!
Мне надо каким-то образом в ВБА передавать из подпрограммы в подпрограмму (и в/из Sub и в Function) 3-4 одномерных массива. Как ни бьюсь всё не получается. Нигде явно не написано, что это невозможно, поэтому надеюсь что кто-то знает способ. А вообще задача у меня такая, что нужно программным путём замутить аппроксимацию значений с достаточочно высокой точностью и как можно более универсальным набором базовых функций (экспоненты и прямые не подходят, т.е. базовые Excel-евские функции работают с громадной ошибкой). Всё это желательно сделать в рамках MS Office. Если кто-то что-то знает по этим двум поводам, скажите плз. Тема интересная) |
Ответы | Всего ответов: 4 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 23 Ответов: 417 |
Профиль | Цитата | #1 | Добавлено: 20.08.08 17:41 |
Передаешь ссылку на массив ? |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: adamis@list.ru Вопросов: 153 Ответов: 3632 |
Профиль | Цитата | #2 | Добавлено: 20.08.08 23:26 |
Мож я чего не понял, но вот у меня всё получается.
Странный вопрос. Private Sub FindNumeric(Array1 As Variant, Array2 As Variant) Dim tmpRow As Integer For tmpRow = 0 To 9 MsgBox Array1(tmpRow),,Array2(tmpRow) Next End Sub |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 262809473 Вопросов: 17 Ответов: 561 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 20.08.08 23:30 |
передавать из подпрограммы в подпрограмму (и в/из Sub и в Function) 3-4 одномерных массива.
Так что ли? Private Sub Document_Open()
Dim ar(3) As String ar(0) = "s0" ar(1) = "s1" ar(2) = "s2" MSG ar, 1 End Sub Private Sub MSG(Strings() As String, Index As Integer) MsgBox Strings(Index) End Sub |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 23 Ответов: 417 |
Профиль | Цитата | #4 | Добавлено: 21.08.08 07:41 |
передавать из подпрограммы в подпрограмму (и в/из Sub и в Function) 3-4 одномерных массива Sub Parameters1()
Dim a as String, ar(3) As String a = "Вот " ar(0) = "s0" ar(1) = "s1" ar(2) = "s2" MsgBox ResArray(a, ar) End Sub Private Function ResArray(a as String, mar As Variant) As String s = "" For Each b In mar s = s & " " & b Next b ResString = a & s End Function |
Страница: 1 |
|