如何在VBA中检测Excel单元格内的Σ字符值?
解决VBA检测Excel单元格中Σh的问题
问题原因
你调试时发现ActiveCell.Value返回Sh,说明单元格实际存储的内容是Sh,而显示的Σh是因为单元格使用了Symbol字体——该字体下大写字母S会显示为希腊字母Σ,但单元格实际存储的值并未改变。
解决方案
根据你的需求选择对应检测方式:
检测单元格显示的内容(视觉上的Σh)
使用.Text属性获取单元格显示的文本,直接对比希腊字母Σ(Unicode U+03A3):If tRange.Text = ChrW(931) & "h" Then Exit Sub End If检测单元格实际存储的内容(Sh)
直接对比单元格实际存储的字符串:If tRange.Value = "Sh" Then Exit Sub End If
额外说明
如果单元格里的Σ是真正的希腊字母(而非字体替换的S),那.Value应该返回Σh,此时你的原代码本应生效。若仍不生效,可尝试用StrComp函数做精确匹配:
If StrComp(tRange.Value, ChrW(931) & "h", vbBinaryCompare) = 0 Then Exit Sub End If
内容的提问来源于stack exchange,提问作者Unis
相关产品推荐
相关产品推荐

