永发信息网

EXCEL VBA删除特殊字符前面内容

答案:2  悬赏:30  手机版
解决时间 2021-02-03 21:50
  • 提问者网友:骑士
  • 2021-02-03 14:58
1.C51:F55

2.当单元有#特殊字符,删除#前面内容

3.当单元没有#特殊字符,有%特殊字符,删除%前面内容

4.当单元没有#和%特殊字符,有&特殊字符,删除&前面内容

5.当单元没有#和%和&特殊字符,有$特殊字符,删除$前面内容

6.当单元没有#和%和&和$特殊字符,有^特殊字符,删除^前面内容
最佳答案
  • 五星知识达人网友:夜风逐马
  • 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
全部回答
  • 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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯