VBA请教!一个文件夹里面有多个Excel,每个Excel根据第三列提取数据,每当数据从负值变化为零的时候,就提取这个负值所在的一行,设置循环提取所有符合条件的
一个文件夹里面有多个Excel,每个Excel根据第三列提取数据,第三列的数据都是正值,零,负值,零。 每当数据从负值变化为零的时候,就提取这个负值所在的一行,设置循环提取所有符合条件的值
例题描述
一个文件夹里面有多个 Excel,要求每个 Excel 根据第三列提取数据,每当数据从负值变化为零的时候,就提取这个负值所在的一行。
如,在“D:\HistoryDatas”下有两个 Excel 文件
数据格式为
按照数据筛选要求,我们就要把文件夹内所有 Excel 中,类似上图圈住的数据行提取出来。另外,把结果输出到新的 Excel 文件。
实现步骤
1、 运行集算器
可去润乾官网下载职场版,同时下载一个免费授权就够了,首次运行时会提示加载。
2、 编写脚本
A B
1 >path=“D://HistoryDatas” / 文件夹路径
2 =directory(path) / 返回 D 盘 HistoryDatas 下的文件名列表
3 =A2.(file(path/“//”/~).xlsimport@t().select(#3<0 && #3[+1]==0)).conj() / 直接查找各文件第三列值小于 0 且其下一行为零的数据行,最后合并
4 =file(path/“/ 提取结果.xls/”/).xlsexport@t(A3) / 输出结果到 Excel
3、 运行脚本,并输出结果到 Excel 文件
查看结果 Excel 文件