循环改工作簿和工作表名

Sub 循环改工作簿和工作表名()
    Dim myPath$, myFile$, sht As Worksheet
    Dim s As String, s1 As String
    Dim a, b
    myPath = ThisWorkbook.Path                   '给路径变量赋值
    myFile = Dir(myPath & "\*.xls")               '用dir函数提取一个文件名
    Application.ScreenUpdating = False           '关闭屏幕刷新
    Application.DisplayAlerts = False            '禁用所有事件
        Do While myFile <> "" '当文件名不为空循环
        Workbooks.Open myPath & "\" & myFile          '打开一个文件
        For Each sht In Sheets                    '对这个文件的每个工作表(这里假设每个文件的工作表数不定)
        s = sht.Name
        a = Split(s, "_")
        b = Split(a(2), "-")
        a(2) = b(0) & b(1) & b(2)
        s1 = a(0) & "_" & a(2)
        sht.Name = s1
        Next                                   '继续循环打开文件的每个工作表,这里不会循环了,因为每个文件只有一张表
        ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & "数据\" & s1 & ".xls"
        ActiveWorkbook.Close savechanges:=True '关闭打开的工作簿
        myFile = Dir                             '再用dir函数提取一个文件名
        Loop                                      '继续循环,重复上述过程
    Application.DisplayAlerts = True      '      启用所有事件
    Application.ScreenUpdating = True            '打开屏幕刷新
End Sub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值