VBA将另一个excel文件内容复制到当前工作簿

har*_*ryg 0 excel vba excel-vba

这就是我想要实现的目标:

我想复制指定目录中最近修改的excel文件中的整个第一个工作表的内容.然后,我想将此复制操作的值粘贴到当前工作簿的第一个工作表.

我知道有一些宏可以在目录中获取最后一个修改过的文件,但我不确定一种快速而简洁的方法来实现它.

InC*_*ext 6

见下文.这将使用当前活动工作簿并查找C:\Your\Path具有最新修改日期的Excel文件.然后它将打开文件并从第一张表中复制内容并将其粘贴到原始工作簿中(在第一张表上):

Dim fso, fol, fil
Dim wkbSource As Workbook, wkbData As Workbook

Dim fileData As Date
Dim fileName As String, strExtension As String

Set wkbSource = ActiveWorkbook

Set fso = CreateObject("Scripting.FileSystemObject")
Set fol = fso.GetFolder("C:\Your\Path")

fileData = DateSerial(1900, 1, 1)

    For Each fil In fol.Files

        strExtension = fso.GetExtensionName(fil.Path)
        If Left$(strExtension, 3) = "xls" Then

            If (fil.DateLastModified > fileData) Then
                fileData = fil.DateLastModified
                fileName = fil.Path
            End If

        End If

    Next fil

Set wkbData = Workbooks.Open(fileName, , True)

wkbData.Sheets(1).Cells.Copy 
wkbSource.Sheets(1).Range("A1").PasteSpecial Paste:=xlValues

Application.CutCopyMode = False

wkbData.Close

Set fso = Nothing
Set fol = Nothing
Set flc = Nothing
Set wkbData = Nothing
Run Code Online (Sandbox Code Playgroud)