我试图利用VBA宏从excel中的字符串中删除字符。例如,字符串为“ UOZV3A-WB1○1.8ml vbn958Xzlv2”,我需要它返回“ UOZV3A-WB1”。很简单,我使用的代码是:
For Each c In Range("D2:D69")
If InStr(c.Value, "?") > 0 Then
c.Value = Left(c.Value, InStr(c.Value, "?") - 1)
End If
Next c
我遇到的问题是宏中无法识别字符串(“ o”)中的单个字符。通过扫描QR码将字符串输入到单元格中。我怀疑“ o”是一种占位符,在excel中被识别/解释为“ o”,但在VBA中的解释不同。如果我尝试将字符复制并粘贴到VBA中,则会显示“?”。
是否可以在VBA中操纵或解释该字符?我读过的其他一些文章似乎表明可以对字符串进行规范化,但编码已超出我的脑袋。
谢谢!
答案 0 :(得分:0)
您需要了解要解析的字符:
Sub junkkiller()
For Each c In Range("D2:D69")
If InStr(c.Value, ChrW(9675)) > 0 Then
c.Value = Left(c.Value, InStr(c.Value, ChrW(9675)) - 1)
End If
Next c
End Sub