VBA小程序--新增工作表_核实工作簿中所有工作表表头是否一致(2020-5-13更新升级,提升容错率)

 这是之前的版本,2020-4-1日写的,现在回过来再看当时的代码,真的觉得当时脑子有坑,为什么这么笨,要这么写。。。

Sub 新增工作表_核实工作簿中所有工作表表头是否一致()
    Dim sht As Worksheet, i As Integer
    i = 1
    Sheets.Add.Name = "表头核实"
    Sheets("表头核实").Move before:=Sheets(1) '将表头移动到最前面
    '遍历所有工作表,将第一行内容写入
    For Each sht In ThisWorkbook.Worksheets
        sht.Rows(1).Copy Worksheets("表头核实").Rows(i)
        i = i + 1
    Next
    Worksheets("表头核实").Activate
    Columns(1).Select
    Selection.Insert shift:=xlToRight
    Range("a1:a1").Select
    i = 1
    '遍历所有工作表,将标题内容写入
    For Each sht In ThisWorkbook.Worksheets
        Cells(i, 1).FormulaR1C1 = sht.Name
        i = i + 1
    Next
End Sub

这是新的版本,2020-5-13日写的,代码简洁了一些,也避免了因为插入第一列会有出错的可能(最初是复制整行,但是如果整行都有格式,那么插入第一列的时候就会报错,无法插入)

Sub 新增工作表_核实工作簿中所有工作表表头是否一致_升级版()
    Dim sht As Worksheet, i As Integer, arr() As Long, r_num As Long, j As Long
    Sheets.Add.Name = "表头核实"
    Sheets("表头核实").Move before:=Sheets(1)   '将表头移动到最前面
    '遍历所有工作表,将第一行内容写入,之前是将整行写进去,但是改进之后,现在只写入有内容的数据
    For Each sht In Worksheets
        sht.Activate
        i = i + 1   'i 默认的初始值是0
        Worksheets("表头核实").Cells(i, 1) = sht.Name
        r_num = sht.Cells(1, sht.Columns.Count).End(xlToLeft).Column
        sht.Range(Cells(1, 1), Cells(1, r_num)).Copy Worksheets("表头核实").Cells(i, 2)
    Next
    Worksheets("表头核实").Activate
    MsgBox ("大哥,已完成")
End Sub

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值