2017-06-28 64 views
0

我无法修改此代码以复制关闭工作簿的第一个工作表并将其导入活动工作簿。它希望复制所有工作表,并将“after:= WB.Sheets(WB.Sheets.Count)”添加到工作表中的随机单元格。 任何帮助,不胜感激。VBA将第一个工作表从关闭工作簿导入到活动工作簿

Dim WB As Workbook 
Dim SourceWB As Workbook 
Dim WS As Worksheet 
Dim ASheet As Worksheet 

Application.ScreenUpdating = False 
Application.EnableEvents = False 

Set WB = ActiveWorkbook 
Set ASheet = ActiveSheet 
Set SourceWB = Workbooks.Open("C:\Users\ME\Desktop\Book1.xlsx") 

For Each WS In SourceWB.Worksheets 
    WS.Copy after:=WB.Sheets(WB.Sheets.Count) 
Next WS 

    SourceWB.Close savechanges:=False 
    Set WS = Nothing 
    Set SourceWB = Nothing 

WB.Activate 
ASheet.Select 
    Set ASheet = Nothing 
    Set WB = Nothing 

Application.EnableEvents = True 

回答

0

试试这个:

Option Explicit 

Public Sub copyFirstWS() 
    Dim wb As Workbook 

    Set wb = Workbooks.Open("C:\Users\ME\Desktop\Book1.xlsx") 

    With ThisWorkbook 
     wb.Worksheets(1).Copy After:=.Worksheets(.Worksheets.Count) 
    End With 

    wb.Close savechanges:=False 
End Sub 
+1

运行完美。我非常感谢你的帮助! – JKnight

相关问题