简单替换功能不适用于度数符号

时间:2015-04-02 16:14:45

标签: excel vba excel-vba

如果我试试这个 -

Replace("±1°", "°", vbNullString)

结果如预期。 但是,我从另一个工作簿中提取数据,因此它存储在一个变量中。所以,当我跑 -

Replace(ToleranceLabel, "°", vbNullString) 

它永远不会奏效。然后我试着用Chr'功能

Replace(ToleranceLabel, Chr(176), vbNullString) 

仍然没有奏效。 我想验证文本我得到十进制数176的unicode符号,而不是使用十进制数186作为度数的unicode。我检查了十进制数,我得到了176。

我尝试了不同的比较方法,vbTextCompare和vbBinaryCompare。我仍然无法取代文本。

使用InStr查看它是否能找到符号,但找不到度数符号。

一定很简单。我希望你们中的任何一位天才都能提供帮助。提前谢谢。

1 个答案:

答案 0 :(得分:2)

您需要准确了解单元格中的内容。单击单元格并运行:

Sub WhatIsInThere()
    Dim i As Long, msg As String
    msg = Len(ActiveCell.Value) & vbCrLf
    For i = 1 To Len(ActiveCell.Value)
        msg = msg & vbCrLf & i & vbTab & Mid(ActiveCell.Value, i, 1) & vbTab & AscW(Mid(ActiveCell.Value, i, 1))
    Next i
    MsgBox msg
End Sub

例如:

enter image description here

然后您可以决定如何处理单元格。