【发布时间】:2021-05-23 07:54:34
【问题描述】:
我想将一些值传递给子例程的数组元素。此代码有效:
Sub Pass_Values()
Call receive_values_into_array_elements(1, 2)
End Sub
Sub receive_values_into_array_elements(A3, A5)
Dim A(6), i As Integer
A(0) = 12
A(1) = 123
A(2) = 234
A(3) = A3
A(4) = 345
A(5) = A5
For i = LBound(A) To UBound(A)
Debug.Print A(i)
Next
End Sub
但是,我必须传递几个变量,并且我想将它们直接传递给数组元素。像这样,但它不起作用:
Sub receive_values_into_array_elements(A(3), A(5))
Dim A(6), i As Integer
A(0) = 12
A(1) = 123
A(2) = 234
A(4) = 345
For i = LBound(A) To UBound(A)
Debug.Print A(i)
Next
End Sub
Pass_Values 的值 '1' 和 '2' 不会直接传输到 'receive_values_into_array_elements' 的数组元素 'A (3)' 和 'A (5)' 中。您需要辅助变量“A3”和“A5”,然后分配值“A (3)”和“A (5)”。如上所示,有没有办法直接将值分配给数组元素?
回答:不,这是不可能的。
解决方法是:
myArray = Array(12, 123, 234, A3, 235, A5)
按照 freeflow 的建议。
感谢您的帮助!
【问题讨论】:
-
完全不清楚你想要完成什么。而且您的代码不起作用,因为它什么都不做......那么您有一个数组并想要更改它的两个元素吗?你想创建一个数组并用作为参数发送的这两个元素填充它吗?请编辑您的问题,除了代码什么都不做之外,请尝试(用文字)解释您尝试做什么。
-
代码已减至最少。我为你夸大了这个例子。我希望它有所帮助。你的答案没有错,但没有抓住重点。
-
您更新的代码也没有任何意义。我无法理解你想要完成什么。如果您对我在回答中尝试的示例不了解任何内容,恐怕继续下去是没有用的……祝您有美好的一天!
-
其他语言可以直接将参数传递给数组的元素。
-
您能用您想要的任何语言向我们展示这种方式吗?我们也许会这样理解你无法用语言解释的东西......