我不明白为什么我无法比较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))
答案 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))