excel - 将单元格值与工作表名称进行比较未按预期工作
问题描述
我正在做一些测试,将单元格中的值与工作表的名称进行比较。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 the same”窗口从未出现。我想知道这里可能缺少什么?
解决方案
单元格值是一个数字,工作表名称是一个字符串。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
推荐阅读
- javascript - 如何将格式数据选择器更改为 YYYY-MM-DD
- node.js - 使用 nodejs 和自己的节点跟踪传入的事务
- php - 从一个表中检索数据并在mysql的另一个表中插入/更新
- docker - 詹金斯管道 - groovy.lang.MissingPropertyException
- android - 如何在 Android Q 上使用 Superpowered SDK 录制音频?
- rxjs - 将某些类型的回调转换为可观察的
- mysql - 优化wordpress mysql数据库文件排序415885行
- android - Android - 获取在浏览器中打开的网页的状态码
- javascript - 我希望从文本区域获得的 html 在浏览器的新标签页中运行。这可能吗?
- react-native - 我们可以在同一个项目中使用两个 React Native 的异步存储吗?