我有点迷失了工作簿参考和嵌套条件。我想要实现的是,
我到目前为止,但不确定如何将非活动工作表“COMPANY”从活动工作簿复制到我们在第1点中找到的工作簿。
任何建议都将不胜感激。
Application.DisplayAlerts = False
For Each wb In Application.Workbooks
For Each ws In wb.Sheets
If ws.Name = "EMPLOYEE" Then wb.Sheets("COMPANY").Delete
Next ws
Next wb
Application.DisplayAlerts = True
答案 0 :(得分:0)
通过活动工作簿是指代码模块运行该操作的那个?如果是这种情况,则可以使用ThisWorkbook
作为 Company 工作表的父级来引用它,您希望将其复制到刚刚删除 Company 工作表来自。
Application.DisplayAlerts = False
On Error Resume Next
For Each wb In Application.Workbooks
For Each ws In wb.Sheets
If ws.Name = "EMPLOYEE" Then
wb.Sheets("COMPANY").Delete
ThisWorkbook.Sheets("Company").Copy Before:=wb.Sheets(1)
End If
Next ws
Next wb
Application.DisplayAlerts = True
我发现ThisWorkbook
比ActiveWorkbook
更明确,特别是在此类操作中,焦点可能(默认情况下)更改为接收公司工作表。
或者,您可以将工作表对象引用分配给要复制的 Company 工作表,并在进行工作簿集合时重复使用该引用。