有没有办法使用单行为VBA中的数组赋值?

Joh*_*eje 6 arrays excel vba excel-vba

我正在编写一些excel-VBA,并且我将一些整数(总共11个)分配给索引为1到11的数组.现在我一次只做一个索引,我想知道是否有一个在一行中完成它的方式类似于在Matlab中完成它的方式.

我现在怎么做:

Dim cols(1 To 11) As Integer

cols(1) = 2
cols(2) = 3
cols(3) = 5
cols(4) = 6
cols(5) = 7
cols(6) = 9
cols(7) = 10
cols(8) = 13
cols(9) = 14
cols(10) = 15
cols(11) = 16
Run Code Online (Sandbox Code Playgroud)

我想怎么做:

Dim cols(1 To 11) As Integer

cols = [2,3,5,6,7,9,10,13,14,15,16]
Run Code Online (Sandbox Code Playgroud)

我知道可以在不将变量定义为数组的情况下完成,但是返回索引为0到10的数组,这对我来说是不需要的:

Dim cols As Variant

cols = Array(2,3,5,6,7,9,10,13,14,15,16]
Run Code Online (Sandbox Code Playgroud)

Ror*_*ory 10

如果Variant数组没问题:

Dim cols()
cols = [{2,3,5,6,7,9,10,13,14,15,16}]
Run Code Online (Sandbox Code Playgroud)

  • 说明:这是 `cols = Application.Evaluate("{2,3,5,6,7,9,10,13,14,15,16}")` 的语法糖,它将字符串计算为 Excel 公式。 (2认同)