如何仅从保存在预定义文件夹中的新Excel文件复制数据?

开关

我想从存储在特定文件夹中的excel文件中复制特定范围并将其粘贴到另一个excel文件中。我能够这样做。但是,每次我运行代码时,它都从该文件夹中的第一个文件开始。仅从以前未更新的文件中复制数据。有没有办法做到这一点?例如:

“ file1.xlsx”和“ file2.xlsx”在文件夹中。我想从给定文件中复制数据并将其粘贴到“ NewFile.xlsm”中(我能够实现),但是,如果我在文件夹中添加“ file3.xlsx”和“ file4.xlsx”,然后运行宏,它也从“ file1.xlsx”和“ file2.xlsx”复制数据。我希望它这次仅从“ file3.xlsx”和“ file4.xlsx”复制数据,因为之前两个文件中的数据已经存在已保存。(我给出的代码如下)

Path = "C:\Users\National\Desktop\TEST Codes\PO\Excel\"
Filename = Dir(Path & "*.xls")
Do While Filename <> ""

If Filename = "Z master for PO.xlsm" Then
Exit Sub
End If
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True

Sheets("DETAILED").Range("A3:S15").Copy

Application.DisplayAlerts = False
Application.ScreenUpdating = False

ActiveWorkbook.Close



Dim LASTROW As Long, WS As Worksheet, LS As Long
Set WS = Sheets("sheet1")
LASTROW = WS.Range("R" & Rows.Count).End(xlUp).Row + 1

WS.Range("A" & LASTROW).Select

ActiveSheet.Paste Destination:=WS.Range("A" & LASTROW)

Application.CutCopyMode = False

Filename = Dir()
Loop

Range("A7").Select
蒂姆·斯塔克

一种实现方法是查看一个DateLastAccessed或多个DateLastModified属性。这些都是File对象的属性,请参阅此MS文档

您可以设置最小日期/时间,该日期/时间应排除不需要处理的文件。

确保设置正确的参考

Option Explicit

Sub GoThroughFiles()

Dim Path As String, Filename As String,
Dim fso, fileinfo

Set fso = CreateObject("Scripting.FileSystemObject")
Path = "C:\Users\National\Desktop\TEST Codes\PO\Excel\"
Filename = Dir(Path & "*.xls")

Set fileinfo = fso.GetFile(Path & Filename)

Do While Len(Filename) > 0 
    If fileinfo.DateLastAccessed > DateAdd("n", -5, Now) 'If the file was last accessed less than 5 minutes ago
        'Do stuff with the file
    End If
    FileName = Dir()
Loop

End Sub

此外,请避免同时使用Select和,Activate因为同时使用会使代码易于出错。这是有关如何避免这种情况的主题紧接着,我添加了Option Explicit它,以确保您避免其他由于拼写错误引起的错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过批处理将文件夹名称 + 我自己的预定义值保存在 > .txt 文件中 | CMD

如果文件保存在项目文件夹中,如何在Eclipse中定义“测试数据表”路径

如何将文件正确保存在数据文件夹中

Python - 仅从文件夹中复制今天的照片

将数据从Gridview导出到Excel并将其保存在文件夹中

从位于文件夹中的所有 csv 文件(8000 个文件)中复制第二行,并将其保存在新的 csv 文件中,包括标题

SSIS-如何将保存在不同文件夹中的csv文件复制到单个文件夹

如何仅从文件夹和子文件夹复制pdf?

如何将图像保存在文件夹中?

如何选择用于保存在SWT中的文件夹?

如何上传图像到数据库保存在文件夹中?

从多个文件夹打开附件,复制内容并保存在主文件表中

VBA Excel将文件保存在Excel宏创建的文件夹中

使用 tee 将日志文件保存在子文件夹中(在变量中定义)

是否可以将文件保存在NSDocumentDirectory内的自定义文件夹中

如何使用批处理文件将特定子文件夹(如果存在)复制到备份文件夹中的新文件夹?

如何使用SSIS将xls文件转换为xlsx文件并保存在文件夹中?

读取保存在 Jupyter 文件夹中的 Excel 文件

如何仅从多个目录和子文件夹复制文件(.wrk)

将文件保存在文件夹中

文件未保存在正确的文件夹中

将文件保存在指定文件夹中

将下载的文件保存在文件夹中 (Python)

如何从zip文件夹中的csv文件读取并将csv文件中的数据保存在数据库中?

如何在烧瓶中使用自定义名称将图像保存在上传文件夹中?

如何拆分一个已经拆分的数据名并将其保存在R中的多个文件夹中

如何使用python从文件夹中的pdf中提取文本并将它们保存在数据框中?

如何使用文本文件中定义的文件列表将多个文件夹中的文件复制到一个公共文件夹中

如何将活动工作簿保存在 Excel VBA 的另一个文件夹中?