我正在尝试将数据从一个工作簿复制到另一个工作簿 . 我能够复制适当的范围,但数据不会粘贴 . 我在excel的左下角留下一条状态消息,说“选择目的地并按ENTER或选择粘贴 . ”这是我的所有代码:
Sub ImportFiles()
Application.ScreenUpdating = False
Dim wkbSource As Workbook
Dim wkbDest As Workbook
Set wkbDest = Workbooks("Basel 3 EAD Prep.xlsm")
Set Macro_Sheet = wkbDest.Sheets("Macro Sheet")
Macro_Sheet.Activate
Dim SheetToCopy As Worksheet
Dim DestWS As Worksheet
Dim File_Path As String
Dim File_Name As String
Dim Full_File As String
Dim Curr_Input_File As String
Dim NumOfFiles As Long
Dim i As Integer
i = 2
With Macro_Sheet
NumOfFiles = .Cells(.Rows.Count, "A").End(xlUp).Row - 1
End With
For i = 2 To NumOfFiles
File_Path = Macro_Sheet.Cells(i, "B")
File_Name = Macro_Sheet.Cells(i, "A")
Full_File = File_Path & "\" & File_Name
Debug.Print Full_File
If i = 2 Then
Curr_Input_File = "G7"
ElseIf i = 3 Then Curr_Input_File = "CCP"
ElseIf i = 4 Then Curr_Input_File = "ALD"
ElseIf i = 5 Then Curr_Input_File = "Parent Mapping"
Else
End If
'Check if workbook is open
ret = Isworkbookopen(Full_File)
If ret = False Then
' open file
Set wkbSource = Workbooks.Open(Full_File)
Else
Set wkbSource = Workbooks(File_Name)
End If
'clear any active filters on the data
Set SheetToCopy = wkbSource.Sheets(1)
If SheetToCopy.AutoFilterMode Then
On Error Resume Next
SheetToCopy.ShowAllData
Else
End If
If Len(wkbDest.Sheets(Curr_Input_File).Range("A1").Value) > 0 Then
wkbDest.Sheets(Curr_Input_File).UsedRange.ClearContents
Set DestWS = wkbDest.Sheets(Curr_Input_File)
SheetToCopy.UsedRange.Copy
DestWS.Range("A1").PasteSpecial xlValues
'Application.CutCopyMode = False
Else
SheetToCopy.UsedRange.Copy
DestWS.Range("A1").PasteSpecial xlValues
'Application.CutCopyMode = False
End If
Next i
End Sub
一旦我运行宏,我可以按ENTER键粘贴数据,但除非我真的这样做,否则它不会粘贴 . 我该如何解决这个问题?