долгое время слушатель, впервые звонящий
Мне нужно создать массивы, где размеры каждого массива и количество массивов определяется пользовательским вводом. Это означает, что каждый раз, когда выполняется код, будет создаваться различное количество массивов, и каждый массив может иметь разные измерения. Есть ли способ создать цикл for, который создаст для меня эти новые массивы в VBA?
Например, допустим, пользователь указывает на необходимость создания 3 массивов. Затем они указывают, что массив 1 должен быть 5 x 6, массив 2 должен быть 6 x 6, а массив 3 должен быть 6 x 3. Я пытаюсь найти способ создать цикл for, который будет выполнять следующие действия без необходимости создать каждый массив:
Dim W1() As Double
ReDim W1(5,6)
Dim W2() As Double
ReDim W1(6,6)
Dim W3() As Double
ReDim W1(6,3)
Что-то вроде кода ниже - вот что я имел в виду.
'UserInput1 is the number of arrays needed
'xDim(i) and yDim(i) are two arrays whose length is equal to UserInput1
'each value in the xDim and yDim arrays represents the X or Y dimension of the
'new array to be created
'i want to create new arrays W1, W2, ...Wn, but using the code W & i() does
'not work
For i = 1 to UserInput1
Dim W & i() As Double
ReDim W & i(xDim(i), yDim(i))
Next i
Приведенный выше код, конечно, приводит к ошибке
«Ошибка компиляции: ожидается: конец оператора»
Есть ли решение моей проблемы в VBA или есть какая-то другая работа, о которой я не думаю?
Любая помощь очень ценится! Это мой первый заданный вопрос, поэтому, пожалуйста, дайте мне знать, если мне нужно поделиться какой-либо другой информацией.