EXECL 提取各类型字符

时间:2016-03-20 03:20:39
【文件属性】:

文件名称:EXECL 提取各类型字符

文件大小:51KB

文件格式:XLS

更新时间:2016-03-20 03:20:39

EXECL 提取字符

EXECL 提取各类型字符 使用execl的VBA实现 最近研究了下关于提取EXECL单元格中提取特殊字符的问题,经过一些EXECL共同爱好者(LearningHard)的帮助,终于问题迎刃而解,请各位看官欣赏。 原始单元格: 871-30233中文-KE1-01-01&A字符FDDF显示吧+ABC 按以下要求提取字符 提取中文字 :中文字符显示吧 提取英文字 :KEAFDDFABC 提取数字 :8713023310101 提取特殊字 :----&+ 提取非中文字:871-30233-KE1-01-01&AFDDF;+ABC 提取特殊字和英文字:--KE--&AFDDF;+ABC 此方法是通过VBA功能来实现的,以下是VBA代码: ' 提取中文 Function Chinese(text As String) Dim tempchar, tempname, n, i Dim bol As Boolean n = Len(text) For i = 1 To n tempchar = Mid(text, i, 1) bol = Asc(tempchar) < 0 If bol = True Then tempname = tempname & tempchar End If Next i If tempname = 0 Then tempname = "N/A" Chinese = tempname End Function ' 提取非中文 Function NoChinese(text As String) Dim tempchar, tempname, n, i Dim bol As Boolean n = Len(text) For i = 1 To n tempchar = Mid(text, i, 1) bol = Asc(tempchar) > 0 If bol = True Then tempname = tempname & tempchar End If Next i If tempname = 0 Then tempname = "N/A" NoChinese = tempname End Function '提取数字 Function Number(text As String) Dim tempchar, tempname, n, i Dim bol As Boolean n = Len(text) For i = 1 To n tempchar = Mid(text, i, 1) bol = tempchar Like "#" If bol = True Then tempname = tempname & tempchar End If Next i If tempname = 0 Then tempname = "N/A" Number = Val(tempname) End Function '提取英文字母 Function letter(text As String) Dim tempchar, tempname, n, i Dim bol As Boolean n = Len(text) For i = 1 To n tempchar = Mid(text, i, 1) bol = tempchar Like "[a-z,A-Z]" If bol = True Then tempname = tempname & tempchar End If Next i If tempname = 0 Then tempname = "N/A" letter = tempname End Function ' 提取特殊字符 Function SpecialChar(text As String) Dim tempchar, tempname, n, i Dim bol As Boolean n = Len(text) For i = 1 To n tempchar = Mid(text, i, 1) bol = Asc(tempchar) < 0 Or tempchar Like "[a-z,A-Z]" Or tempchar Like "#" If bol = False Then tempname = tempname & tempchar End If Next i If tempname = 0 Then tempname = "N/A" SpecialChar = tempname End Function ' 提取特殊字符和英文字母 Function SpecialCharandletter(text As String) Dim tempchar, tempname, n, i Dim bol As Boolean n = Len(text) For i = 1 To n tempchar = Mid(text, i, 1) bol = Asc(tempchar) < 0 Or tempchar Like "#" If bol = False Then tempname = tempname & tempchar End If Next i If tempname = 0 Then tempname = "N/A" SpecialCharandletter = tempname End Function


网友评论