excel合并sheet

调用宏 alt+F11

Sub Worksheet_Total()
    Dim rowNum As Integer
    Dim i, k As Integer
 
    Set wsNewWorksheet = ActiveWorkbook.Worksheets.Add(before:=Worksheets(1))
    wsNewWorksheet.Name = "data_total"
    rowNum = 1
    For k = 1 To ActiveWorkbook.Worksheets.Count
        i = 2
        Do While ActiveWorkbook.Worksheets(k).Cells(i, 1).Value <> ""
            wsNewWorksheet.Cells(rowNum, 1).Value = ActiveWorkbook.Worksheets(k).Name
            For j = 2 To 5
                wsNewWorksheet.Cells(rowNum, j).Value = ActiveWorkbook.Worksheets(k).Cells(i, j).Value
            Next j
            rowNum = rowNum + 1
            i = i + 1
        Loop
    Next k
End Sub

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25323853/viewspace-707764/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25323853/viewspace-707764/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过以下步骤实现VBA Excel合并sheet并实现数据透视表: 1. 开启一个新的Excel工作簿,按“Alt + F11”打开VBA编辑器; 2. 在VBA编辑器中,在“项目资源管理器”中右键单击“这个工作簿”,选择“插入” -> “模块”,然后在新建的模块中输入以下代码: ``` Sub MergeSheetsAndPivotTable() Dim ws As Worksheet, wsMaster As Worksheet Dim pt As PivotTable Dim pc As PivotCache '创建主工作表 Set wsMaster = ThisWorkbook.Sheets.Add wsMaster.Name = "Master" For Each ws In ThisWorkbook.Worksheets '跳过主工作表和空工作表 If ws.Name <> wsMaster.Name And Application.WorksheetFunction.CountA(ws.Cells) <> 0 Then '将当前工作表数据复制到主工作表 ws.UsedRange.Copy wsMaster.Cells(Rows.Count, 1).End(xlUp).Offset(1) End If Next ws '创建数据透视表 Set pc = ThisWorkbook.PivotCaches.Create(xlDatabase, wsMaster.Range("A1").CurrentRegion) Set pt = pc.CreatePivotTable(wsMaster.Cells(2, 10), "PivotTable1") '添加行字段 With pt.PivotFields("行字段") .Orientation = xlRowField .Position = 1 End With '添加列字段 With pt.PivotFields("列字段") .Orientation = xlColumnField .Position = 1 End With '添加数据字段 With pt.PivotFields("数据字段") .Orientation = xlDataField .Position = 1 .Function = xlSum .NumberFormat = "#,##0.00" End With End Sub ``` 3. 将代码中的“行字段”、“列字段”和“数据字段”替换为实际的字段名称,修改数据字段的汇总方式和数字格式; 4. 执行代码,会创建一个名为“Master”的新工作表,并将所有非空工作表中的数据复制到此工作表中,最后在新工作表中创建一个数据透视表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值