使用macros将工作表复制到另一个工作簿

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 

我正在创build一个对话框,将文件名称作为input,然后需要将完整的工作表复制到另一个工作簿,而不是select范围和内容。 怎么做

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

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

你可以select你想要的名单。 它将复制现有的名称,如果它已经存在将成为“名称(2)”。 您可以从那里重命名它。