har*_*ryg 0 excel vba excel-vba
这就是我想要实现的目标:
我想复制指定目录中最近修改的excel文件中的整个第一个工作表的内容.然后,我想将此复制操作的值粘贴到当前工作簿的第一个工作表.
我知道有一些宏可以在目录中获取最后一个修改过的文件,但我不确定一种快速而简洁的方法来实现它.
见下文.这将使用当前活动工作簿并查找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)