使用VBA判断单元格各字符是否为中文、英文、数字、符号的复杂解读_第1页
使用VBA判断单元格各字符是否为中文、英文、数字、符号的复杂解读_第2页
免费预览已结束,剩余3页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Function lsLike(strText As String, patter n As Stri ng As Boolea nIsLike = strText Like patternEnd FunctionFunction IsCh in ese(strText As Stri ng As Boolea nDim i%, h$h = Hex(Asc(strTextIf Asc(Left(h, 1 = 66 And Asc(Left(h, 1 = 70 ThenIsChi nese = TrueEnd IfEnd FunctionFunction Strin gType(strText

2、As String, Opti onal outPutType As In teger = 1,Optio nal sumVar As Boolea n = False As Varia ntDim strtemp As String, bl nArray(1 To 5 As String, strPreType As In tegerDim intNum As Integer, startPos As Integer, intlen As IntegerDim strArray As Varia nt, strCompare1 As String, strCompare2 As String

3、, dblSumAs DoubleIf sumVar = True And Not (outPutType 2 Or outPutType 4 The n sumVar =FalseFor i = 1 To Len( strTextstrtemp = Mid(strText, i, 1 If i 1 Then strComparel =WorksheetFunction.Asc(Mid(strText, i - 1,3 strCompare2 = WorksheetFu nction.Asc(Mid(strText, i, 2If WorksheetF un ctio n.Dbcs(strte

4、mp = strtemp The n strtemp = WorksheetF unctio n. Asc(strtempIf lsLike(strtemp, 0-9 Or lsLike(strCompare1, 0-9.0-9 OrlsLike(strCompare2, -0-9 ThenIf strPreType = 4 The nbl nArray(4 = Left(bl nArray(4, Le n(bl nArray(4 - 1 & in tNumElsein tNum = 1blnArray(4 = blnArray(4 & - & i & / &a

5、mp; intNumEnd IfstrPreType = 4in tNum = in tNum + 1Elself IsLike(strtemp, a-zA-Z The nIf strPreType = 5 The nbln Array(5 = Left(bl nArray(5, Le n(bl nArray(5 - 1 & in tNumElsein tNum = 1blnArray(5 = blnArray(5 & - & i & / & intNumEnd IfstrPreType = 5in tNum = in tNum + 1ElseIf Is

6、Chi nese(strtemp The nIf strPreType = 1 The nblnArray(1 = Left(blnArray(1, Len(blnArray(1 - 1 & intNumElsein tNum = 1blnArray(1 = blnArray(1 & - & i & / & intNumEnd IfstrPreType = 1in tNum = in tNum + 1ElsestrPreType = 0End IfElseIf lsLike(strtemp, 0-9 Or lsLike(strCompare1, 0-9.

7、0-9 OrlsLike(strCompare2, -0-9 ThenIf strPreType = 2 The nbln Array(2 = Left(bl nArray(2, Le n(bl nArray(2 - 1 & in tNum Elsein tNum = 1bl nArray(2 = bl nArray(2 & - & i & / & in tNumEnd IfstrPreType = 2in tNum = in tNum + 1Elself lsLike(strtemp, a-zA-Z ThenIf strPreType = 3 The

8、nblnArray(3 = Left(blnArray(3, Len(blnArray(3 - 1 & intNumElsein tNum = 1blnArray(3 = blnArray(3 & - & i & / & intNumEnd IfstrPreType = 3in tNum = in tNum + 1ElsestrPreType = 0End IfEnd IfNextstrtemp =strArray = Split(bl nArray(outPutType,-For i = 1 To UBou nd(strArrayin tNum = In Str(1, strArray(i, /startPos = Mid(strArray(i, 1, intNum - 1in tlen = Mid(strArray(i, i ntNum + 1If sumVar ThendblSum=dblSum + WorksheetFu nctio n.Asc(Mid(strText, startPos, i ntle nElsestrtemp=:strtemp & Mid(strText, startPos, intlen & End IfNextIf s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论