2012-08-02 155 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)」。您可以從那裏重命名它。

相關問題