小编Nar*_*esh的帖子

从VBA中的范围中删除特殊字符

我创建了一个 VBA 代码来删除列中可用的所有特殊字符。举个例子,我在一列的每个单元格中都有一个字母数字字符,其中包含一些特殊字符: 假设在一个单元格中我有一个值: abc@123!-245 执行我的代码后,我得到输出 abc 123 245 这里我的代码工作正常删除所有特殊字符。我的代码如下:

Sub ReplaceSpecial()
    Dim cel As Range
    Dim strVal As String
    Dim i As Long
    Application.ScreenUpdating = False
    For Each cel In Selection
        strVal = cel.Value
        For i = 1 To Len(strVal)
            Select Case Asc(Mid(strVal, i, 1))
                Case 32, 48 To 57, 65 To 90, 97 To 122
                    ' Leave ordinary characters alone
                Case Else
                    Mid(strVal, i, 1) = " "
            End Select
        Next i
        cel.Value = strVal
    Next cel
    Application.ScreenUpdating …
Run Code Online (Sandbox Code Playgroud)

regex excel vba vba7 vba6

2
推荐指数
1
解决办法
2748
查看次数

标签 统计

excel ×1

regex ×1

vba ×1

vba6 ×1

vba7 ×1