excel 去除特殊字符
答案:3 悬赏:0 手机版
解决时间 2021-02-17 10:07
- 提问者网友:無理詩人
- 2021-02-17 01:15
excel 去除特殊字符
最佳答案
- 五星知识达人网友:大漠
- 2021-02-17 01:29
假如要去除“sheet1”中特殊字符,右击工作表名称“sheet1”,选择“查看代码”,直接把以下的代码复制、粘贴上去即可。
Sub shanchu()
Dim mStr$, i%, temStr$
mStr = InputBox("请连续输入你要删除的字符,如!~@等等")
For i = 1 To Len(mStr)
temStr = Mid(mStr, i, 1)
Cells.Replace What:=temStr, Replacement:=""
Next
End Sub
按Alt+F8 ,或打开“工具-宏-宏”,选择宏名为“sheet1.shanchu",点执行,在出现的窗口中输入你要删除的所有的特殊字符,按确定。
Sub shanchu()
Dim mStr$, i%, temStr$
mStr = InputBox("请连续输入你要删除的字符,如!~@等等")
For i = 1 To Len(mStr)
temStr = Mid(mStr, i, 1)
Cells.Replace What:=temStr, Replacement:=""
Next
End Sub
按Alt+F8 ,或打开“工具-宏-宏”,选择宏名为“sheet1.shanchu",点执行,在出现的窗口中输入你要删除的所有的特殊字符,按确定。
全部回答
- 1楼网友:末日狂欢
- 2021-02-17 02:41
层数太多的话,为什么不定义名称呢?
用自定义函数也可以
Public Function hreplace(a As String, b As String)
Dim aa As String
For i = 1 To Len(a)
If Mid(a, i, 1) <> b Or Right(aa, 1) <> Mid(a, i, 1) Then
aa = aa & Mid(a, i, 1)
End If
Next
hreplace = aa
End Function
hreplace(参数1,参数2)
第一个参数是你的原字符串,第二个参数是你要替换的字符追问特殊字符 太多~ 不可能一一去筛选~ 有办法只保存中文 英文 数字 么?
用自定义函数也可以
Public Function hreplace(a As String, b As String)
Dim aa As String
For i = 1 To Len(a)
If Mid(a, i, 1) <> b Or Right(aa, 1) <> Mid(a, i, 1) Then
aa = aa & Mid(a, i, 1)
End If
Next
hreplace = aa
End Function
hreplace(参数1,参数2)
第一个参数是你的原字符串,第二个参数是你要替换的字符追问特殊字符 太多~ 不可能一一去筛选~ 有办法只保存中文 英文 数字 么?
参考资料:百度一下
- 2楼网友:刀戟声无边
- 2021-02-17 02:11
可以用code函数读取每个字符GBK码,不再汉字区的删除
如果不怕误删,可以缩小到常用汉字区,B0A1-F7FE,有汉字 6763 个,一般都够用了,不再这个区域的就删掉
加分的话,我给你做VBA
如果不怕误删,可以缩小到常用汉字区,B0A1-F7FE,有汉字 6763 个,一般都够用了,不再这个区域的就删掉
加分的话,我给你做VBA
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯