1.C51:F55
2.当单元有#特殊字符,删除#前面内容
3.当单元没有#特殊字符,有%特殊字符,删除%前面内容
4.当单元没有#和%特殊字符,有&特殊字符,删除&前面内容
5.当单元没有#和%和&特殊字符,有$特殊字符,删除$前面内容
6.当单元没有#和%和&和$特殊字符,有^特殊字符,删除^前面内容
EXCEL VBA删除特殊字符前面内容
答案:2 悬赏:30 手机版
解决时间 2021-02-03 21:50
- 提问者网友:骑士
- 2021-02-03 14:58
最佳答案
- 五星知识达人网友:夜风逐马
- 2021-02-03 16:31
Sub s()
Dim arr, i%, t%, c As Range
arr = Array("#", "%", "&", "$", "^")
For Each c In [c51:f55]
For i = 0 To UBound(arr)
t = InStr(c.Text, arr(i))
If t > 0 Then
c = Mid(c.Text, t)
Exit For
End If
Next
Next
End Sub
Dim arr, i%, t%, c As Range
arr = Array("#", "%", "&", "$", "^")
For Each c In [c51:f55]
For i = 0 To UBound(arr)
t = InStr(c.Text, arr(i))
If t > 0 Then
c = Mid(c.Text, t)
Exit For
End If
Next
Next
End Sub
全部回答
- 1楼网友:七十二街
- 2021-02-03 17:52
不用vba只用公式也可以。
如原数据在b8,在c8输入公式:=mid(b8,3,100)
下拉填充。
好吧,既然你非要vba,你可以这样改:
选中后,只删除前面两个字符
sub aa()
for each c in selection
c.value = right(c.value, len(c.value) - 2)
next
end sub
选中后只删除后面两个字符
sub aa()
for each c in selection
c.value = left(c.value, len(c.value) - 2)
next
end sub
从第x字母开始,留y个字母
sub aa()
dim x, y
x = 2
y = 2
for each c in selection
c.value = mid(c.value, x, y)
next
end sub
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯