发布时间:2019-08-01 01:21:56
Sub 合并当前工作簿下的所有工作表()
Application.ScreenUpdating = False
For j = 1 To Sheets.Count
If Sheets(j).Name <> ActiveSheet.Name Then
x = Range("A65536").End(xlUp).Row + 1
Sheets(j).UsedRange.Copy Cells(x, 1)
End If
Next
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"
End Sub
要看你想怎样"指定几个":-
假设要一个一个地给出需要汇总的工作表;
可以这样改:
把源代码中的:
For j = 1 To Sheets.Count
If Sheets(j).Name <> ActiveSheet.Name Then
x = Range("A65536").End(xlUp).Row + 1
Sheets(j).UsedRange.Copy Cells(x, 1)
End If
Next j
改为:
Message = "请输入需要合并的一个工作表的名称:"
Title = "输入工作表名称"
10 jn = InputBox(Message, Title)
If jn <> ActiveSheet.Name Then
x = Range("A65536").End(xlUp).Row + 1
Sheets(jn).UsedRange.Copy Cells(x, 1)
End If
goto 10
注意:
1 后面的MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"
可作相应更改;
2 运行中会一直询问下一个需要合并的工作表名称,可按ESC结束。