EXCEL中有关VB编程的问题(有一定水平的进来)
在A1:F3中,A,C,E列是日期,并且逐行递增,B,D,F列是数值,要求先检查第一行的日期,如果日期不一致,就保留最小的及右边一列的数值,把所有的日期大的一列连同右边一...
在A1:F3中,A,C,E列是日期,并且逐行递增,B,D,F列是数值,要求先检查第一行的日期,如果日期不一致,就保留最小的及右边一列的数值,把所有的日期大的一列连同右边一列数值全都下移一行(也就是插入两个横向相邻的空单元格),再把那个最小的日期复制进相应的代表日期的空单元格中(数值不用复制);检查完第一行后再检查第二行、第三行……,直至到没有数值的那一行为止
这只是个缩小的例子,我现实中要用此方法处理的数据有几十张表格,每张表格有上百列和数千行,如果用手动,真的很烦很烦……,所以只能编写一个宏来解决
那么应该怎么写呢?本人是初学者,请把上面的例子写得完整点,如果有可能的话,把编好的宏再解释一下,我要好好研究一番,呵呵……
如果我能够据此写出一个真正解决实际问题的宏,我一定会另加50分的,决不食言!
多谢了! 展开
这只是个缩小的例子,我现实中要用此方法处理的数据有几十张表格,每张表格有上百列和数千行,如果用手动,真的很烦很烦……,所以只能编写一个宏来解决
那么应该怎么写呢?本人是初学者,请把上面的例子写得完整点,如果有可能的话,把编好的宏再解释一下,我要好好研究一番,呵呵……
如果我能够据此写出一个真正解决实际问题的宏,我一定会另加50分的,决不食言!
多谢了! 展开
2个回答
展开全部
你的需求应该可以这样理解:
A1和B1,C1和D1,E1和F1是三组日期和数值的数据组合,
如果A1=C1=E1(日期相同),该行不做处理;
如果A1与C1与E1不相等(日期不同),将A1:F1的数据插入到A2:F2,
找到A2\C2\E2的最小值,将该组的数值项清空[A2最小就清空B2,C2最小就清空D2,E2最小就清空F2];
再把第一行非最小值的其他分组数值项清空[A1最小就清空D1\F1,C1最小就清空B1\F1,E1最小就清空B1\D1]
处理完成,进行下一条处理.
但这样的数据处理方法是有问题的.建议你根据需求改进你的数据处理方法,然后再考虑如何实现.
A1和B1,C1和D1,E1和F1是三组日期和数值的数据组合,
如果A1=C1=E1(日期相同),该行不做处理;
如果A1与C1与E1不相等(日期不同),将A1:F1的数据插入到A2:F2,
找到A2\C2\E2的最小值,将该组的数值项清空[A2最小就清空B2,C2最小就清空D2,E2最小就清空F2];
再把第一行非最小值的其他分组数值项清空[A1最小就清空D1\F1,C1最小就清空B1\F1,E1最小就清空B1\D1]
处理完成,进行下一条处理.
但这样的数据处理方法是有问题的.建议你根据需求改进你的数据处理方法,然后再考虑如何实现.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询