如何导入工作表的列以激活工作簿



我想从用户选择的工作簿导入特定列以激活工作簿。

当我复制并粘贴列时,它无法粘贴到目标工作表中。我做错了什么?

这是我的代码:

Sub Import_sheet()
Dim fDialog As Office.FileDialog
Dim varFile As Variant
Dim wb As Workbook
Dim activeWB As Workbook
Set activeWB = Application.ActiveWorkbook
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
   With fDialog
      .AllowMultiSelect = True
      .Title = "Select Files to prepare"
      .Filters.Add "All Files", "*.*"
      If .Show = True Then
        For Each varFile In .SelectedItems
            MsgBox varFile
            Application.ScreenUpdating = False
            Application.DisplayAlerts = False
            Set wb = Application.Workbooks.Open(varFile)
            'wb.Worksheets(1).Copy _
            After:=activeWB.Sheets(activeWB.Sheets.Count)
            wb.Sheets(1).Columns("C").Select
            Selection.Copy
            activeWB.Sheets("template").Columns("B").Select
            Selection.Paste 
            wb.Close False
            Application.ScreenUpdating = True
            Application.DisplayAlerts = True
        Next
      Else
         MsgBox "You clicked Cancel in the file dialog box."
      End If
   End With
End Sub
您需要

在复制或粘贴之前激活工作簿,以免超出范围。

    wb.activate
    wb.Sheets(1).select
    wb.Sheets(1).Columns("C").Copy

    activeWB.activate
    activeWB.Sheets("template").select
    activeWB.Sheets("template").Cells("B1").Paste

最新更新