Access 2013 32 бит: Win 7 64bitAccess VBA Pass многомерный массив в функции
Пробовал: Is it possible to pass a multidimensional array as a parameter in EXCEL VBA? без толку
(Если вы можете ответить на этот вопрос, вероятно, можно ответить на этот вопрос, но они немного отличается)
Sub CreateArray()
Dim myArray(1 to 10, 1 to 5)
'Code that assigns values to (1 to 10, 1 to 4)
myArray() = CalculateLastColofArray(myArray())
'Do stuff with full array
End sub
Function CalculateLastColofArray(calcArray)
For i = LBound(calcArray()) to UBound(calcArray())
calcArray(i,5) = calcArray(i,1) + calcArray(i,3)
Next i
CalculateLastColofArray = calcArray()
End Function
Мой расчет на самом деле гораздо сложнее, чем простое добавление и мой массив динамически велик (х, 5)
Do как я показал выше, заполняет myArray, но отладка показала это, когда я нависаю над ним, завернутый в вызов функции, и ошибки перед входом в функцию
Вы не объявили аргумент 'calcArray' как массив. Попробуйте 'Функция CalculateLastColofArray (calcArray())' –
Эй, Скотт, благодарю вас за ответ - это была проблема, но это было на другой стороне прохода - myArray() читался как один вариант, а не как массив myArray, мне пришлось изменить вызов myArray из myArray() – Schalton
справа. проблема была в любом случае ... если вы сделали то, что я предложил или что вы сделали, любой из них сработал бы. В принципе, вы пытались называть яблоко апельсином, и вам нужно было заставить их обе яблоки работать :) Просто подумал, что стоит отметить, чтобы вы не думали, что это может быть только один. –