VBA 常用代码 - 01

1、运用VBA.Split() 给字符串分列,选取第一部分

例:“101203\其他货币资金\低于等于3个月的流动性理财存款”,选取“101203”

Sub test()

Dim rows As Integer '声明变量

rows = Range("A1048576").End(xlUp).Row '数据的最下边位置
'Range("c1") = rows

For i = 1 To rows

    If (Range("B" & i) = "") Then
        Range("B" & i) = Range("A" & i)
        Range("C" & i) = rows
        Range("A" & i) = VBA.Split(Range("B" & i), "\")(0) '将字符串按“\”分列,取第一部分
    End If
    
Next

End Sub

注:split函数的用法:

Split函数是在处理字符串时常用的一个函数,它的作用是将字符串按特定的字符分开,返回的是一个一维数组,数组的起始下标为0,看下面的例子

Sub test()

Dim arr,brr,s,m,n,y

s = "abc,d,e,f,g"
arr = Split(s,",")  '结果是一个包含5个项的一维数组
m = Split(s,")(0)  '令m为数据的第1个项,为abc brr =Split(s,",2)将s以逗号分为2项,brr(0)=abc,brr(1)="d,e,f,g"
n = Split(s,",2)(0)  '令n=abc
y = Split(s,",2)(1)  '令y="d,e,f,g"

End Sub

现在有一个字符串"abc,d,e,f.g,h",arr = Split(s,",")就是将字符串以","为分隔符分开,返回的arr是一个一维数组,arr(0)-abc,arr(1)=d,arr(2)=e,arr()=f,arr(4)=-g,当然在这里split(s,",")(0)与arr(0)是等价的,将split(s",")直接看成一个数组,(0)表示这个数组的第1项。如果不想将s全部分开,可以在分隔符后面再加上个参数来表示你想分成几份。比如split(s,",2)这里的2就表示将s分成2份即可,返回结果是"abc"和"d,e,fg",如果是split(s,",3)那么结果就是"abc","d","e,f,g"三个值了。

2、将excel 中的每张sheet单独保存成一个文件

Sub test()

Dim sht As Worksheet    '声明变量

Application.ScreenUpdating = False  '关闭屏幕更新

For Each sht In Sheets
    sht.Copy
    ActiveWorkbook.SaveAs Filename:="C:\Users\Desktop\拆分后文件\" & sht.Name & ".xlsx"    '另存的位置
    ActiveWorkbook.Close
Next

Application.ScreenUpdating = True   '开启屏幕更新

End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值