类型不匹配数组位置比较Vba

时间:2017-09-22 19:19:18

标签: vba type-mismatch

我不明白为什么我无法比较VBA中的数组。我创建了一个从0 1 2开始的数组3.我添加了一个比较,因为下标错误试图比较0到0 - 1所以它只能在1开始比较并继续。现在我收到了一个类型Mismatch 13,我无法弄清楚为什么数据类型不同/不起作用。我在for循环中猜测我不被认为是int或者其他什么东西? 它在CoordinatesArray(i)= CoordinatesArray(i-1)

时失败

代码:

 For i = 0 To NumLines - 1
        coordx1 = (vLines(12 * i + 6))
        coordy1 = (vLines(12 * i + 7))
        coordz1 = (vLines(12 * i + 8))
        CoordinatesArray(i) = Array(coordx1, coordy1, coordz1)
        If i > 0 Then
            If CoordinatesArray(i) = CoordinatesArray(i - 1) Then
                coordx1 = (vLines(7))

1 个答案:

答案 0 :(得分:2)

您需要分别比较锯齿状数组中的每个值:

For i = 0 To NumLines - 1
    coordx1 = (vLines(12 * i + 6))
    coordy1 = (vLines(12 * i + 7))
    coordz1 = (vLines(12 * i + 8))
    CoordinatesArray(i) = Array(coordx1, coordy1, coordz1)
    If i > 0 Then
        If CoordinatesArray(i)(1) = CoordinatesArray(i - 1)(1) And _
          CoordinatesArray(i)(2) = CoordinatesArray(i - 1)(2) And _
          CoordinatesArray(i)(3) = CoordinatesArray(i - 1)(3) Then
            coordx1 = (vLines(7))