2012-08-02 158 views
1
With Application.FileDialog(msoFileDialogOpen) 
    .Filters.Clear 
    .Filters.Add "Excel 2002-03", "*.xls", 1 
    .Filters.Add "Excel 2007", "*.xlsx; *.xlsm; *.xlsa", 2 
    .AllowMultiSelect = False 
    .Show 



    If .SelectedItems.Count > 0 Then 
     Workbooks.Open .SelectedItems(1) 
     Set wkbSourceBook = ActiveWorkbook 
     Set rngSourceRange = Application.InputBox(prompt:="Select source range", Title:="Source Range", Default:="A1", Type:=8) 
     wkbCrntWorkBook.Activate 
     Set rngDestination = Application.InputBox(prompt:="Select destination cell", Title:="Select Destination", Default:="A1", Type:=8) 
     rngSourceRange.Copy rngDestination 
     rngDestination.CurrentRegion.EntireColumn.AutoFit 
     wkbSourceBook.Close False 
    End If 

End With 

我创建一个对话框,把文件名作为输入,然后需要一个完整的表复制到另一个工作簿,而不是选择范围和东西。如何做到这一点复制工作表到另一个工作簿使用宏

+0

只是想知道我的回答是否有助于帮助。 – 2012-08-03 04:53:14

回答

1

您可以使用Worksheet对象的Copy方法。

wkbSourceBook.Sheets(1).Copy After:=wkbCrntWorkBook.Worksheets(1) 

你可以根据名称选择你想要的任何一张。它将复制现有的名称,如果它已经存在将变成“名称(2)”。您可以从那里重命名它。

相关问题