使用 VBA 将整个 Excel 工作簿复制到另一个工作簿

Kiw*_*Ryu 2 excel vba

我有一本包含 4 个工作表的工作簿(“初始工作簿”)。
我需要将所有四个工作表复制到不同的工作簿(“新工作簿”)。

我有下面的代码,它允许我从新工作簿导航到初始工作簿,然后在一个工作表上复制特定范围。我想对此进行修改,以允许我选择并复制原始工作表上的所有四个工作表。

我们将非常感谢您提供的任何帮助:

Private Sub CommandButton1_Click()

    Dim wkbCrntWorkBook As Workbook
    Dim wkbSourceBook As Workbook

    Dim rngSourceRange As Range
    Dim rngDestination As Range

    Set wkbCrntWorkBook = ActiveWorkbook

    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:="$A:$CS", 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

End Sub
Run Code Online (Sandbox Code Playgroud)

小智 6

奇迹般有效:

ActiveWorkbook.Sheets.Copy
Run Code Online (Sandbox Code Playgroud)

(来源:http ://www.mrexcel.com/forum/excel-questions/404450-visual-basic-applications-copy-active-workbook-new-workbook.html )