2015-05-12 29 views
0

在我的excel工作簿中有这个“ ”特殊字符,我想用“。”替换全部,当我将这个 字符放在代码中时,它会变成“? “在我运行宏之后,它将所有内容都替换为“。”。如何用excel替换特殊字符vba

Sub FindReplaceAll() 

Dim ws  As Worksheet 
For Each ws In ActiveWorkbook.Worksheets 
    ws.Cells.Replace What:="�", Replacement:=".", LookAt:= _ 
    xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 
    ReplaceFormat:=False 

     Next ws 
End Sub 

在此先感谢

+0

听起来像一个编码问题。该图标代表无法在您的机器上显示的任意数量的字符。 – NinjaCat

+0

[Unicode替换字符](https://en.wikipedia.org/wiki/Specials_(Unicode_block)) – Porcupine911

+0

如果可以,请返回并找到 进入工作簿的原因。它代表由于错误的字符编码转换造成的数据丢失。 –

回答

0

尝试这个角色由小区中的ASCII NUM复制,然后有ASCII数和替换的字符:

Dim num =123 
Ex: 
    Cells.Replace What:=Chr(Num), Replacement:=".", LookAt:= _ 
     xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 
     ReplaceFormat:=False