仅保留工作簿中所有单元格的字母数字值

时间:2016-01-21 11:11:43

标签: excel excel-vba vba

我有一个包含多个工作表的excel工作簿,我只想保留A-Z,0-9和“。”。在工作簿的每一页中的所有单元格中。

我想过使用以下内容:

Function AlphaNumericOnly(strSource As String) As String
    Dim i As Integer
    Dim strResult As String

    For i = 1 To Len(strSource)
        Select Case Asc(Mid(strSource, i, 1))
            Case 48 To 57, 65 To 90, 97 To 122: 'include 32 if you want to include space
                strResult = strResult & Mid(strSource, i, 1)
        End Select
    Next
    AlphaNumericOnly = strResult
End Function

但运行此函数只会产生#NAME?在excel中

此外,我希望excel能够自动导航到新工作表,并对固定范围的数据执行相同操作。

任何人都可以帮助我。

提前致谢

P.S:使用Mac Office 2016,工作簿有30张

1 个答案:

答案 0 :(得分:2)

#NAME错误来自Excel无法识别自定义函数。如果您确定它没有拼写错误,那么下一个最可能的问题就是它被放错了地方。

用户定义函数(又名UDF)被放入标准模块代码表中。点击 Alt + F11 ,当VBE打开时,立即使用下拉菜单插入►模块 Alt + 中号)。将功能代码粘贴到标题为 Book1 - Module1(Code)的新模块代码表中。点击 Alt + Q 返回工作表。

udf_placement