Excel 填充多维数组

Excel 填充多维数组,excel,vba,Excel,Vba,我想知道如何在Excel VBA中填充多维数组。一维数组可以按如下方式填充: Dim myarray as variant myarray = Array("sheep", "goat", "chicken") 如何为多维数组分别填充每一行?您可以这样做: Dim a a = [{1,2;3,4;5,6}] 限制: 这仅适用于Variant类型的数组,因为[x]是Evaluate(“x”)的缩写,这意味着x通过Excel解释,Excel只返回变量。因此,将dima()声明为Variant

我想知道如何在Excel VBA中填充多维数组。一维数组可以按如下方式填充:

Dim myarray as variant

myarray = Array("sheep", "goat", "chicken")
如何为多维数组分别填充每一行?

您可以这样做:

Dim a
a = [{1,2;3,4;5,6}]
限制:

  • 这仅适用于
    Variant
    类型的数组,因为
    [x]
    Evaluate(“x”)
    的缩写,这意味着
    x
    通过Excel解释,Excel只返回变量。因此,将
    dima()声明为Variant
    或将数组
    dima()声明为Variant
    都可以。但任何其他类型的数组(如
    Dim a())都不能作为字符串失败

  • 这只适用于一种特定的多维数组,即二维数组。不是三维、四维等


通过使用动态数组并将数据输入工作表上的某个范围,可以快速填充二维数组。然后您可以简单地:
array=Range(“Range”)
。对于两个以上的维度,你必须分别读取每个值。你有一个一维数组-你真的是指多维的吗?真的吗??那太酷了!我以前怎么没见过这种语法?!应该注意的是,这只适用于所示的情况。声明为数组的变量将无法以这种方式加载。你会得到一个编译错误:“不能分配给数组。”@Jean-FrançoisCorbett,我就是这样尝试的,结果失败了,出现了一个编译错误。
Dim a()作为变量:a=[{1,2;3,4;5,6}]
在我的末尾编译并执行得很好吗?办公室2010