zoukankan      html  css  js  c++  java
  • 将EXCEL中的多个SHEET中内容合并到一个SHEET中

    情景: 由于数据量大,sheet页数多,手工拷贝比较麻烦,也容易出错

    条件: 一个worksheet里面的多个sheet中的数据都是一样的格式,就是说都有head line, 字段数也是一样的,只是数据和行数不一样.

    方案: 使用vba效率高,速度快.

    步骤:

    1. 在要合并的excel中新建一个空白页面,并放到最前面,作为第一个sheet页

    2.拷贝如下VBA代码,并运行

    百度找了很多VBA代码都不能正常合并. 找了老半天终于找到了个可以用的: 

    Sub hb()
    
    Dim bt, i, r, c, n, first As Long
    
    bt = 1 '表头行数,多行改为对应数值
    
    Cells.Clear
    
    For i = 1 To Sheets.Count
    
        If Sheets(i).Name <> ActiveSheet.Name Then  '务必当前在新建的空白页面中
    
            If first = 0 Then
    
                c = Sheets(i).Cells(1, Columns.Count).End(xlToLeft).Column '获取字段数https://www.cnblogs.com/acetaohai123/p/6505447.html
    
                Sheets(i).Range("A1").Resize(bt, c).Copy Range("A1") '拷贝第一行,也就是head line
    
                n = bt + 1: first = 1
    
            End If
    
            r = Sheets(i).Cells(Rows.Count, "A").End(xlUp).Row          '获取要拷贝的sheet的行数
    
            Sheets(i).Range("A" & bt + 1).Resize(r - 1, c).Copy Range("A" & n)  '拷贝当前sheet中的数据到第N行
    
            n = n + r - bt   '更新行数变量n
    
        End If
    
    Next
    
    End Sub
    

      

  • 相关阅读:
    oracle改表语句
    pr视频过渡效果
    远程桌面连接
    kill-power
    Leetcode 466.统计重复个数
    Leetcode 464.我能赢吗
    Leetcode 462.最少移动次数使数组元素相等
    Leetcode 459.重复的子字符串
    Leetcode 458.可怜的小猪
    Leetcode 457.环形数组循环
  • 原文地址:https://www.cnblogs.com/blogkevin/p/13037597.html
Copyright © 2011-2022 走看看