比较单元格值与工作表的名称无法正常工作

时间:2019-01-11 09:03:46

标签: excel vba

我正在做一些测试,将单元格中的值与工作表的名称进行比较。 Cells(2,1)中的值为5,工作表的名称也为5

Sub test()    
    MsgBox (Cells(2, 1) & ActiveSheet.Name)

    If Cells(2, 1).Value = ActiveSheet.Name Then
        MsgBox ("They are the same")
    End If
End Sub

我看到一个弹出框,上面显示55,这意味着两个值是相同的,但是“ The are are same” 窗口从未出现。我想知道这里可能缺少什么?

1 个答案:

答案 0 :(得分:1)

单元格值是一个数字,工作表名称是一个字符串。在与工作表名称进行比较之前,请使用CStr将数字转换为字符串。

Sub test()
    MsgBox (Cells(2, 1) & ActiveSheet.Name)

    If CStr(Cells(2, 1).Value) = ActiveSheet.Name Then
        MsgBox "They are the same"
    End If
End Sub