我是新手。我有继承的代码,该代码将工作表从每月的工作簿复制到新的工作簿并创建摘要表。它适用于4月数据,但对于5月及以后月份的数据,保存时会旋转一点,然后死而没有错误代码。我无法弄清楚可能导致死亡的每月工作表之间必须有什么区别。我已经在即时模式下运行,但仍然看不到任何问题的迹象。任何有关如何找出问题的建议将不胜感激。
Set wb2 = ActiveWorkbook
wb2.Activate
Sheets("977-053").Select 'Add sheets
ActiveSheet.Shapes.Range(Array("Picture 4")).Select
Cells.Select
Selection.Copy
Windows("RH ARAP Summary BASIC.xlsm").Activate
Sheets("Chavez").Select
Cells.Select
ActiveSheet.Paste
wb2.Activate
Sheets("977-05J").Select
Application.CutCopyMode = False
Selection.Copy
Windows("RH ARAP Summary BASIC.xlsm").Activate
Sheets("Pangburn").Select
ActiveSheet.Paste
wb2.Activate
Sheets("977-05K").Select
Application.CutCopyMode = False
Selection.Copy
Windows("RH ARAP Summary BASIC.xlsm").Activate
Sheets("Geier").Select
ActiveSheet.Paste
wb2.Activate
Sheets("977-05R").Select
Application.CutCopyMode = False
Selection.Copy
Windows("RH ARAP Summary BASIC.xlsm").Activate
Sheets("Martin").Select
ActiveSheet.Paste
wb2.Close SaveChanges:=False 'close opened TO 5
MsgBox "ready to Save"
Sheets("RH ARAP Summary").Select 'save ARAP to division folder to send
ThisWorkbook.SaveAs Filename:="May-2"
您的代码主要是由宏记录器生成的。它的作用很简单,但是很难以这种形式使用。如果更改它以便定义变量,它将更加整洁和易于使用。
为了帮助您入门,下面是一段简单的代码,它执行了类似的操作,并正确定义了变量。动画的.gif演示了它如何将内容从一个工作簿中的工作表复制到另一工作簿中的工作表(单击以查看详细信息)。希望在学习之后可以调整以解决您的问题。
Option Explicit
Sub test()
Dim wb As Workbook, wb2 As Workbook
Dim sh As Worksheet, sh2 As Worksheet
Dim r2 As Range
Set wb2 = ThisWorkbook
Set sh2 = wb2.Worksheets("977-053")
Set r2 = sh2.Range("A1")
For Each wb In Workbooks
If wb.Name = "Book2" Then
Set sh = wb.Worksheets("Chavez")
sh.Cells.Copy
sh2.Activate
r2.Select
sh2.Paste
End If
Next
End Sub