我的循环遍历一系列单元格并比较值:
For k = 7 To wsPlany.UsedRange.Rows.Count
If wsPlany.Cells(k, 1) = datu Then
'code here
End If
Next k
基本上,单元格是带有数字1, 2, 3 ...
的单元格,而datu
也是一个数字。这一切都有效,但价值1,我无法弄清楚原因。
甚至debug.printing类似于:wsPlany.Cells(k,1),datu并将它们比较到下一行确认如果值为2或更高,它将为该行返回true,如果它是1,则返回false,好像它正在与其他数字进行比较(但我发现它们与debug.print中的它们是相同的)。
答案 0 :(得分:2)
简单地添加1行,我将值转换为Integers
,无论它们是什么数据类型,都解决了问题。
For k = 7 To wsPlany.UsedRange.Rows.Count
'turns the values to integers first
wsPlany.Cells(k, 1).Value = CInt(wsPlany.Cells(k,1))
If wsPlany.Cells(k, 1) = datu Then
'code here
End If
Next k