Excel 为什么这个对多维vba数组的简单赋值会引起语法错误

Excel 为什么这个对多维vba数组的简单赋值会引起语法错误,excel,vba,multidimensional-array,Excel,Vba,Multidimensional Array,我正在尝试将两个整数“1”和“2”分配给VBA for Excel中的二维整数数组: Dim arrPeople(4, 4) As Integer arrPeople(0,0) = 1,2 我试图将整数1保存到数组的第一个维度,将整数2保存到第一个数组项的第二个维度的行--arrpoweens(0,0)=1,2--出现语法错误,我没有找到一个示例来说明原因 (我不是想插入“1,2”或“1.2”使用欧洲惯例表示小数点,而不是任何小数。最终,我希望在数组的一维中存储电子邮件地址,在另一个维中存储网

我正在尝试将两个整数“1”和“2”分配给VBA for Excel中的二维整数数组:

Dim arrPeople(4, 4) As Integer
arrPeople(0,0) = 1,2
我试图将整数1保存到数组的第一个维度,将整数2保存到第一个数组项的第二个维度的行--
arrpoweens(0,0)=1,2
--出现语法错误,我没有找到一个示例来说明原因

(我不是想插入“1,2”或“1.2”使用欧洲惯例表示小数点,而不是任何小数。最终,我希望在数组的一维中存储电子邮件地址,在另一个维中存储网页URL中的文章ID号,但我认为将问题简化为仅存储整数会有所帮助。)

两个值“1,2”无法分配给数组中的单个位置,例如
(0,0)
。我建议将1和2分别分配到相应的位置,如下所示:

arrPeople(0,0) = 1
arrPeople(1,0) = 2

@elliotsvensson是正确的:没有一种方法可以用二维数组作为数据结构来做你想要做的事情。您可能需要不同的数据结构。例如,
Variant
的一维数组可以在每个插槽中存储另一个一维数组,类似于C存储数组的方式:

Option Explicit
Option Base 0

Sub example()
    Dim arrPeople(4) As Variant
    arrPeople(0) = Array(1, 2)      ' Assign a whole row at once
    Debug.Print arrPeople(0)(0)     ' prints 1.  Note (0)(0) indexing rather than (0,0).
End Sub

另一个例子是,为了存储电子邮件地址和文章ID,您可以使用
集合
从其中一个映射到另一个。您可以使用两个
Collection
s进行双向映射。或者,正如您在对elliot答案的评论中所指出的,您可以使用两个一维数组。

您是想使用
1,2
作为1和1/5还是1和2?我假设您使用的是欧洲惯例,即使用逗号作为基数(小数)位标记。VBA使用
(点)而不是逗号。^^^正如Dai所说,但这在任何情况下都不适用于整数。请您在帖子中阐明您的意图好吗?正如上面的评论和下面的答案所表明的,很难从你发布的内容中推断出来。有没有一种方法可以将“1”指定给第一个数组项的第一个维度,将“2”指定给第二个维度,这就是我正在尝试做的?换句话说,是人(1,2)?如果我使用你指出的替代方案,我也可以使用一维数组。谢谢谢谢你,cxw和elliotsvensson。也许我对二维数组用途的理解是错误的。我将尝试在您推荐的变量@cxw中实现该数组