当前位置: 首页 > news >正文

天津注册公司网站外发加工网邀请码

天津注册公司网站,外发加工网邀请码,石嘴山住房和城乡建设厅网站,网站模块看到一篇博客《VBA,用VBA进行分列(拆分列)的2种方法》,使用VBA对字符串进行拆分 目录 Excel分列功能将字符串拆分为二维数组,Split函数举例 将字符串拆分为一维数组,正则表达式举例 Excel分列功能 Sub 测…

看到一篇博客《VBA,用VBA进行分列(拆分列)的2种方法》,使用VBA对字符串进行拆分

目录

    • Excel分列功能
    • 将字符串拆分为二维数组,Split函数
      • 举例
    • 将字符串拆分为一维数组,正则表达式
      • 举例

Excel分列功能

Sub 测试1()Range("a:a").TextToColumns other:=True, otherchar:=";"
End Sub

在这里插入图片描述
代码运行可以将左边拆分为右边,但分隔符只能有1个

将字符串拆分为二维数组,Split函数

分隔符只能有2个,且分隔符是有顺序的,具体看举例

Function str_split2d(ByVal source_str$, ByVal delimiter)'delimiter为分隔符数组,只能有2个元素;source_str按分隔符拆分为二维数组(数组从1开始计数)Dim s1$, s2$, srr, res, result, s, t, i&, j&, max_c&If UBound(delimiter) - LBound(delimiter) <> 1 Then Debug.Print "参数错误": Exit Functions1 = delimiter(LBound(delimiter)): s2 = delimiter(UBound(delimiter))srr = Split(source_str, s1): ReDim res(1 To UBound(srr) - LBound(srr) + 1, 1 To 10 ^ 3)For Each s In srrtemp = Split(s, s2): i = i + 1: j = 0For Each t In tempj = j + 1: res(i, j) = tNextIf j > max_c Then max_c = jNextReDim result(1 To i, 1 To max_c)  '结果数组For i = 1 To UBound(res)For j = 1 To max_cresult(i, j) = res(i, j)NextNextstr_split2d = result
End Function

举例

Sub 测试2()Dim resres = str_split2d([a1], Array(";", ","))[d1].Resize(UBound(res), UBound(res, 2)) = res
End Sub

在这里插入图片描述

将字符串拆分为一维数组,正则表达式

Split函数虽然能够拆分字符串,但是如果分隔符数量较多,那么就需要不断循环遍历分隔符,对拆分后的字符串继续进行拆分,这显然是比较麻烦的
正则表达式是处理字符串的强大工具,对于处理多个分隔符,代码较为简单
更多关于正则表达式内容详见,《Excel·VBA自定义正则表达式函数、使用》

Function 正则拆分字符串(ByVal source_str$, ByVal delimiter$)'delimiter为分隔符,source_str按分隔符拆分为一维数组(数组从1开始计数)Dim pat$, result, i&, num&pat = "[^" & delimiter & "]"  '正则匹配模式,^非With CreateObject("vbscript.regexp")  '正则表达式.Global = True.Pattern = patSet mhs = .Execute(source_str): num = mhs.CountIf num = 0 Then 正则拆分字符串 = WorksheetFunction.Transpose(WorksheetFunction.Transpose(Array(source_str))): Exit FunctionReDim result(1 To num)For i = 0 To num - 1result(i + 1) = mhs(i).ValueNext正则拆分字符串 = resultEnd With
End Function

举例

Sub 测试3()Dim resres = 正则拆分字符串([a1], ",;")[a3].Resize(UBound(res), 1) = WorksheetFunction.Transpose(res)res = 正则拆分字符串([d1], ",;|")[d3].Resize(UBound(res), 1) = WorksheetFunction.Transpose(res)
End Sub

在这里插入图片描述

http://www.yayakq.cn/news/853221/

相关文章:

  • 东圃手机网站建设ip代理免费
  • 大兴网站建设设计公司宣城公司做网站
  • 泰州cms建站模板济南企业网站建设
  • 影视会员网站怎么建设网站设计所需软件
  • 重庆南川网站制作公司电话制作网站需要怎么做的
  • 如何做好电商网站平面设计长沙0731房地产网
  • 济南市城市建设规划局官方网站网站制作 万网
  • 网站建设vs网络推广杭江建设有限公司
  • 哪个网站可以做图片网站建设的一般流程
  • 苏州高端网站设计机构北京住房建设官方网站
  • 做网站游戏怎么挣钱wordpress新用户默认角色设置
  • 做网站买什么服务器 便宜哪里有网站建设官网
  • 网站建设联系方式品牌网站制作简创网络
  • 给网站平台做推广叫什么建立组词
  • 太原建设北路小学网站用c 做网站
  • 莆田网站建站做一个一般的网站需要多少钱
  • 网站广告图怎么做故宫网站建设
  • 湖州公司做网站织梦 调用网站地址
  • 关于域名和主机论坛的网站广州网络营销外包怎样
  • 北京营销型网站建设培训班建立网站加强家园沟通和联系的做法有何利弊
  • 网站建设淘宝永安市住房与城乡建设局网站
  • 南昌网站排名福建省建设工程注册管理中心网站
  • 电子科技网站宁波高端网站制作公司
  • 网站没询盘怎么做推广丹徒网站建设方案
  • 项目案例 化妆品网站南昌县建设局网站
  • 门户网站集群建设方案新开的网页游戏大全
  • 建筑网站资料怎么样免费做自己的网站
  • 友点企业网站管理系统模板下载芜湖建设网站公司
  • 建站公司接单建湖人才网
  • 网站建设工作室需要哪些设备网站开发前端与后端源代码