如何判断某列某个单元格是否包含特殊字符(如空格、数字、下划线等等),并返回特殊字符

一、 编写VBA宏代码

VBA代码已写好,直接粘贴到VBA编辑器并保存,即可使用。也可以下载我写好的保存了宏代码的excel文件,直接调用即可。我的excel文件中也包含了很多重度办公人士经常需要用到的其他函数,目前的函数较少,后续会不断更新新的宏函数进去,并会在我的博客中进行功能介绍使用。如有需要可长期关注我。如需要什么其他功能,欢迎私信我,我帮你实现。
文件下载链接:https://download.csdn.net/download/u014541881/88027650

1,完整代码

Function CheckSpecialCharacters(rng As Range, Optional characters As String = "") As String
    Dim cellValue As String
    Dim specialCharacters As String
    Dim i As Integer
    
    cellValue = rng.Value
    specialCharacters = ""
    
    If InStr(cellValue, " ") > 0 Then
        specialCharacters = specialCharacters & "空格"
    End If
    
    If InStr(cellValue, "-") > 0 Then
        specialCharacters = specialCharacters & "-"
    End If
    
    If InStr(cellValue, "_") > 0 Then
        specialCharacters = specialCharacters & "_"
    End If
    
    For i = 65 To 90
        If InStr(cellValue, Chr(i)) > 0 Or InStr(cellValue, Chr(i + 32)) > 0 Then
            specialCharacters = specialCharacters & "字母"
            Exit For
        End If
    Next i
    
    If InStr(cellValue, "0") > 0 Or InStr(cellValue, "1") > 0 Or InStr(cellValue, "2") > 0 Or _
        InStr(cellValue, "3") > 0 Or InStr(cellValue, "4") > 0 Or InStr(cellValue, "5") > 0 Or _
        InStr(cellValue, "6") > 0 Or InStr(cellValue, "7") > 0 Or InStr(cellValue, "8") > 0 Or _
        InStr(cellValue, "9") > 0 Then
        specialCharacters = specialCharacters & "数字"
    End If
    
    If Len(characters) > 0 Then
        For i = 1 To Len(characters)
            Dim character As String
            character = Mid(characters, i, 1)
            
            If InStr(cellValue, character) > 0 Then
                specialCharacters = specialCharacters & character & " "
            End If
        Next i    
    End If      
    specialCharacters = Trim(specialCharacters)
    CheckSpecialCharacters = specialCharacters
End Function

2,函数参数介绍

在这里插入图片描述

rng:必填参数,就是你选中的单元格。默认仅判断是否包含 空格、下划线、短划线、数字。并返回包含的特殊字符的类型。

characters:可选参数,表示你要判断单元格中包含其他特殊字符类型。若不填,则代表仅判断单元格是否包含 空格、下划线、短划线、数字。若填写,则代表除了判断 空格、下划线、短划线、数字外,还判断单元格是否包含你填写的特殊字符中的任意一个,如下图中的,,~!“”?“”。

注意
(1)若要判断是否包含 " ,请输入 " “。
(2)如果仅输入英文的”,",则仅识别英文的逗号;如果要判断对应的中文的逗号,请在specialChars中加入中文的逗号“,“。

在这里插入图片描述
效果
在这里插入图片描述

二、使用方法–以下任选两种方式均可

(1)方式一:直接保存需要的宏代码到VBA宏编辑器使用。按如下步骤操作。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

最后,将上面的代码复制粘贴到这里,点击保存
在这里插入图片描述
现在就可以在你自己的表格中调用了。点击隐藏,返回到自己的表格中。这个编辑代码对话框不要关闭,隐藏即可。
在这里插入图片描述

好的,到这里就可以使用了。
在这里插入图片描述

(2)方式二:下载包含宏代码的exce文件使用。文件链接在开头已经附上。下载后,打开,即可在其他工作表调用文件中包含的函数。

注意,打开这个文件后,如果出现如下的提示,一定要点击启用宏,否则在其他工作表无法调用。未启用宏的话,请自行网上搜索怎么启用宏。

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u014541881/article/details/131634704
今日推荐