Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA多维数组-数组文字语法_Vba_Multidimensional Array - Fatal编程技术网

VBA多维数组-数组文字语法

VBA多维数组-数组文字语法,vba,multidimensional-array,Vba,Multidimensional Array,我想创建一个多维数组,在这里我一次分配所有的值,而不是逐个遍历所有数组坐标值。我相信这就是所谓的设置“数组文字”。无论如何,我所有的变量都是字符串值。下面的代码没有给我一个语法错误,但是当我逐步执行时,我在pkg=行上得到一条“编译错误:无法分配到数组”消息。我该怎么做 Sub test_array2() Dim pkg(2, 2) As String pkg = [{"PRetail","Retail Packaged"};{"PFoodservice","Foodservice Pac

我想创建一个多维数组,在这里我一次分配所有的值,而不是逐个遍历所有数组坐标值。我相信这就是所谓的设置“数组文字”。无论如何,我所有的变量都是字符串值。下面的代码没有给我一个语法错误,但是当我逐步执行时,我在pkg=行上得到一条“编译错误:无法分配到数组”消息。我该怎么做

Sub test_array2()

Dim pkg(2, 2) As String

pkg = [{"PRetail","Retail Packaged"};{"PFoodservice","Foodservice 
Packaged"}]

Debug.Print pkg(1, 1)

End Sub

您不能直接分配给这样的数组,因此需要使用变量:

Sub test_array2()

    Dim pkg As Variant

    pkg = [{"PRetail","Retail Packaged";"PFoodservice","FoodservicePackaged "}]

    Debug.Print pkg(1, 1)

End Sub

您不能直接分配给这样的数组,因此需要使用变量:

Sub test_array2()

    Dim pkg As Variant

    pkg = [{"PRetail","Retail Packaged";"PFoodservice","FoodservicePackaged "}]

    Debug.Print pkg(1, 1)

End Sub

只有这样做的一个警告——“标识符”(即
[
..
]
中的部分)限制为255个字符。如果超出限制,则会出现“标识符太长”语法错误。只有一个这样做的警告——“标识符”(即
[
..
]
中的部分)限制为255个字符。如果超出限制,将出现“标识符太长”语法错误。您可以分配给非变量数组,而不是像
Dim pkg(2,2)
这样的固定大小数组。在这种情况下,由于
[]
的返回类型,数组还必须包含
Variant
s,因此正确的声明应该是
Dim pkg()作为Variant
,此时与
Dim pkg作为Variant
的区别是技术性的。您可以将,只是不是像Dim-pkg(2,2)那样的固定尺寸的。在这种情况下,由于
[]
的返回类型,数组还必须包含
Variant
s,因此正确的声明应该是
Dim pkg()作为Variant
,此时与
Dim pkg作为Variant
的区别是技术性的。