对于除1之外的所有值都为真,无法找出原因(VBA)

时间:2015-04-29 08:25:03

标签: excel vba excel-vba

我的循环遍历一系列单元格并比较值:

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中的它们是相同的)。

1 个答案:

答案 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