能不能修改一下这个代码,要求只要汇总指定的几个,而不是所有工作表

发布时间: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结束。

以上问题属网友观点,不代表本站立场,仅供参考!