公告:九九网站目录为广大站长提供免费收录网站服务,会员可在线完成投稿无需添加友情链接。只收录内容正规合法的网站;快审网站软文10元

点击这里在线咨询客服
新站提交
  • 网站:8462
  • 待审:16
  • 小程序:9
  • 文章:3610
  • 会员:21112

 

前景提要

之前我们学习了利用VBA来拆分单元格的方法,主要还是优化Excel分列功能的,这不,又有小伙伴们反馈,分列功能有一个按照长度拆分单元格的功能,是不是可以优化下,在平时按照长度拆分的时候,我还要一个个的数,到多少个字段停止,而且分列功能的那个线条拖来拖去也比较麻烦,有没有办法直接输入一个数字就进行拆分呢?

好,安排上

场景说明

打开凤凰新闻,查看更多高清图片

这是我们今天构造的数据源,今天要尝试的是按照单元格长度进行拆分,我们就准备了一些长度不同的数据,这些数据你如果想要通过单元格的分列功能来操作的话,估计有点难度

Excel自带的分列功能,按照长度拆分的话,至少有一个大前提,就是数据的格式是完全一样的,才能够一次针对大量的数据进行拆分,如果数据长度不一样,那么就会出现上面动图的尴尬,我想要取每个数据的后面三位,但是因为单元格内容不同,没有办法一次性全部取出来,既然如此,VBA可以登场了

代码区

Sub testc()

Dim rng As Range, a As Range, sp

sp = Application.InputBox("请输入前后长度,用逗号隔开", "拆分长度的输入", , , , , , 2)

lsp = Split(sp, ",")(0)

rsp = Split(sp, ",")(1)

Set rng = Application.InputBox("请选择需要拆分的单元格区域", "单元格的处理", , , , , , 8)

For Each a In rng

s = a.Value

a.Offset(0, 1) = Left(s, lsp)

a.Offset(0, 2) = Mid(s, Int(lsp) + 1, Len(s) - rsp - lsp)

a.Offset(0, 3) = Right(s, rsp)

Next a

分享到:

  admin

注册时间:

网站:0 个   小程序:3 个  文章:0 篇

  • 462

    网站

  • 9

    小程序

  • 3610

    文章

  • 112

    会员

赶快注册账号,推广您的网站吧!
热门网站
最新入驻小程序

跳一跳2022-08-22

跳一跳是微信开发的一款小游戏,有

数独大挑战2018-06-03

数独一种数学游戏,玩家需要根据9

答题星2018-06-03

您可以通过答题星轻松地创建试卷

全阶人生考试2018-06-03

各种考试题,题库,初中,高中,大学四六

运动步数有氧达人2018-06-03

记录运动步数,积累氧气值。还可偷

每日养生app2018-06-03

每日养生,天天健康