|
楼主 |
发表于 2018-4-3 11:18
|
显示全部楼层
本帖最后由 lrh788 于 2018-4-5 07:38 编辑
Sub 合并当前工作簿下的所有工作表6()
Application.ScreenUpdating = False '禁用屏幕刷新,以加快运行速度。
For j = 1 To Sheets.Count '对于所有的工作表,从表1开始,直到最后一个工作表,逐个运行下面的程序(判断程序)
If Sheets(j).Name <> ActiveSheet.Name Then '对于任意一个(第 i 个),如果它的工作表名,不是当前工作表名,那么,运行下面的程序
na = Sheets(j).Name
If na = "表1"" Then Sheets(j).UsedRange.Copy NewSheet.Cells([a65536].End(xlUp).Row + 1, 1) '将表1已使用区域复制到新表中
If na <> "表1" Then
Sheets(j).UsedRange.Offset(3, 0).Copy NewSheet.Cells([a65536].End(xlUp).Row + 1, 1) '将其他表的已使用区域从第三开始复制到新表中
'复制第 i 个工作表的所有有数据的单元格,并粘贴到当前工作表的A列的第一个空单元格
End If '结束判断程序
End If
Next '下一个循环(即下一个工作表)
Range("B1").Select '选择当前工作表的B1单元格
Application.ScreenUpdating = True '刷新屏幕
MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示" '调用系统对话框,并提示:"当前工作簿下的全部工作表已经合并完毕!"
End Sub |
|