上篇说到将excel中的一个工作表按照某列拆分成多个sheet工作表,那么如何把excel中的多个工作表sheet合成一个工作表呢?接下来就继续利用VBA工具来解决这个问题。 **第一步:**在文件中新建一个工作表sheet,用来存放合成后的数据,如图所示: Private Sub sheets() Application.ScreenUpdating = False '合并工作表 '循环遍历每个工作表 For j = 1 To Workbooks(1).sheets.Count '判断遍历的工作表是否是合并后的那张工作表 If Workbooks(1).sheets(j).Name <> ActiveSheet.Name Then '如果不是,定义所遍历的工作表数据行数 X = Range("A65536").End(xlUp).Row + 1 '把所遍历的工作表中的数据复制到合并的那张工作表中 Workbooks(1).sheets(j).UsedRange.Copy Cells(X, 1) End If Next j '删除多余的表头 Dim i As Integer, Cons As Integer '定义合并后工作表的数据行数 Cons = Range("A65536").End(xlUp).Row '通过上面方法合并工作表后会存在第一行没有数据,所以删除第一行 Range("A1").EntireRow.Delete '从后往前遍历合并后的工作表第一列数据 For i = Cons To 3 Step -1 '判断是否是需要删除的字段名,“序号”是表格中当前字段开头的名字 If Range("A" & i) = "序号" Then '如果是,执行删除 Range("A" & i).EntireRow.Delete End If Next i Range("B1").Select Application.ScreenUpdating = True MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示" End Sub 第五步:点击“运行”即可。或者“点击运行—>运行子过程/用户窗体”。 |
|