|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
总需求:将 各个【测试.xls】 的数据汇总至【汇总.xlsb】 表的格式几乎完全一致
其中【测试.xls】单元格橙色、蓝色、绿色正好对应至【汇总.xlsb】 的中sheet颜色
即【汇总.xlsb】资金余额采集 对应【测试.xls】单户资金日报汇总表
【汇总.xlsb】资金流入采集和【汇总.xlsb】资金流出采集 分别对应【测试.xls】资金流水汇总表中绿色和蓝色区域
虽然不同【测试.xls】中橙色区域的数据量不一样,但每个文件里的数据量是固定不变
所以我使用了ctrl+a的方式找到最终非空行的形式
然后依次赋值给【汇总.xlsb】的橙色sheets
然而【测试.xls】资金流水汇总表中的所有数据全是随机数量(一般小于100条)通过别的表格链接过来(即黄色区域为公式)
无法使用ctrl+a的方式查找最终非空行
故我想到了利用数据列求和的方式找最后一样 原理如下
for lastcol 100 to 1 step -1
b=sum(range(cells(2,“a”),cells(lastcol,“a”))
d=sum(range(cells(2,“a”),cells(lastcol-1,“a”))
if b = d then
else
recordscol=lastcol
exit for
next
在【测试.xls】中已经测试成功
但是将代码代入【汇总.xlsb】
我把
b=sum(range(cells(2,“a”),cells(lastcol,“a”))
d=sum(range(cells(2,“a”),cells(lastcol-1,“a”))
修改为
b=sum(sheets(“资金流水汇总表”).range(cells(2,“a”),cells(lastcol,“a”))
d=sum(sheets(“资金流水汇总表”).range(cells(2,“a”),cells(lastcol-1,“a”))
用msgbox输出的结果依然是计算activesheets 里面的结果
求大神修改。。。
|
|