Excel:宏检查新文件的文件夹(基于单元格中的日期)

时间:2017-10-05 12:16:59

标签: excel vba

我有一个需要每天跑一次的宏。它需要检查一个文件夹(这可以在VBA中指定,因为它不应该更改),然后查看是否有任何新文件。

目前,此Excel VBA程序会提示用户选择文件。然后它对文件执行操作,并将日期和移位(从文件名字符串)保存到第一页的单元格中。字符串始终相同,唯一的变化是日期和班次编号:"我的信息MM-DD-YY#Shift"

我想创建代码,以便用户不会每天选择新文件,但是程序通过将单元格与最后日期进行比较来检查它们,并且转移到日期并在文件名中移位文件夹中。

示例:

用户昨天运行了一个文件并保存了日期并分别转移到单元格A1和B1,10-04-17和2。

用户昨天忘记了第3班。

他们今天点击运行按钮,代码查看目录(在VBA中指定)以查看是否有任何文件的日期等于单元格A1(10-04-17)中的日期和更高比单元格B1(2)的移位以及是否有任何文件大于班次A1(10-04-17)中任何班次编号的日期。一旦检查,它将选择满足此条件的任何文件并在其上运行宏,保存最近的日期并转移到单元格A1和B1。

我已经将多文件运行功能写入现有程序。

任何帮助表示赞赏!提前谢谢!

1 个答案:

答案 0 :(得分:0)

对于任何发现这一点且很好奇的人,

我以一种迂回的方式解决了这个问题:

  1. 创建工作表(通过打开和关闭能见度将保持隐藏状态)
  2. 使用filedatetime查看我上次运行的文件(它的名称保存在我工作簿的主页(表1)中)
  3. 从特定文件夹中提取所有文件并打印其提交时间
  4. 看到哪些提交时间大于上次运行的文件
  5. 对于找到的每一个,它被设置为宏在其上运行的变量(使用循环)
  6. 查找最长的提交时间并将此文件名设置为主页
  7. 从工作表中删除所有数据并将其隐藏