gpt4 book ai didi

VBA。比较锯齿状数组结果为 "Type Mismatch"

转载 作者:行者123 更新时间:2023-12-02 19:06:49 27 4
gpt4 key购买 nike

我很难弄清楚这段应该是基本的代码片段出了什么问题。我想知道是否有人可以帮助我。任何想法都将非常感激,我对 VBA 还很陌生。

我的代码是:

    Dim table() as Variant: table = Array(Array(0,0,0))
Dim aux() as Variant: aux = Array(0,0,0)
If table(0) = aux then
End If

代码甚至不执行,Excel 在 If 行中引发不匹配异常。我已经以各种可能的方式“解释”了代码,但没有成功地让它工作(当然代码并不像这个那么简单,但是这个什么都不做的代码也不会执行......)

预先感谢您的宝贵时间,

最佳答案

如果您想要比较两个一维数组是否相等(如您提供的示例代码所示),那么您需要使用 Join 函数,如下所示:

Sub tst()

Dim table() As Variant: table = Array(Array(0, 0, 0))
Dim aux() As Variant: aux = Array(0, 0, 0)

If Join(table(0), ",") = Join(aux, ",") Then
MsgBox "The same"
Else
MsgBox "Not the same"
End If

End Sub

请注意,请确保所使用的连接分隔符不会出现在所测试的任一数组的任何元素中。 John Coleman 提出了一个很好的观点,即当使用逗号分隔符时,这可能会对 (0, "0,0") 数组产生误报,如提供的答案所示。

关于VBA。比较锯齿状数组结果为 "Type Mismatch",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49879795/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com