如何在excel中用VBA代码实现有条件的累加
1.如果在单元格A20的值与上一行A19的值相同,那么J20的值就等于J19+A20;2.如果在单元格A20的值与上一行A19的值不相同,那么J20的值就等于J19,以此...
1.如果在单元格A20的值与上一行A19的值相同,那么J20的值就等于J19+A20;
2.如果在单元格A20的值与上一行A19的值不相同,那么J20的值就等于J19,以此类推。
请高手用VBA代码实现,代码中最好能用数组作变量,万分感谢!
首先感谢chiefzjh的回答, 我当时的问题没有说清楚,现在详细说一下:
1.如果A列是文本,A1是标题,G列是数值,J列是准备累加的结果值;
2.那么从单元格A2的值与上一行A1的值比较,是相同文本的,那么J2的值就等于J1+G2;
3.如果在单元格A2的值与上一行A1的值不相同,那么J2的值就等于G2,以此类推,一直循环到A列不是空值为止。
请用VBA代码实现,代码中最好能用数组作变量,否则因数据量比较大会运行很长时间,万分感谢! 展开
2.如果在单元格A20的值与上一行A19的值不相同,那么J20的值就等于J19,以此类推。
请高手用VBA代码实现,代码中最好能用数组作变量,万分感谢!
首先感谢chiefzjh的回答, 我当时的问题没有说清楚,现在详细说一下:
1.如果A列是文本,A1是标题,G列是数值,J列是准备累加的结果值;
2.那么从单元格A2的值与上一行A1的值比较,是相同文本的,那么J2的值就等于J1+G2;
3.如果在单元格A2的值与上一行A1的值不相同,那么J2的值就等于G2,以此类推,一直循环到A列不是空值为止。
请用VBA代码实现,代码中最好能用数组作变量,否则因数据量比较大会运行很长时间,万分感谢! 展开
3个回答
展开全部
有几个问题:
1.当a列是相同文本时,这是连续的吗?比如是:11223444576...还是112123332...
2.关于你说的第3点就是这个描述,a1跟a2不相等,但是跟a3相等,这样需要b1和b3的值相加吗?
这两点确认的是同一个问题,如果只需要判断a列跟上一行的值是否相等会简单的多。如果不是就会比较复杂一点。
1.当a列是相同文本时,这是连续的吗?比如是:11223444576...还是112123332...
2.关于你说的第3点就是这个描述,a1跟a2不相等,但是跟a3相等,这样需要b1和b3的值相加吗?
这两点确认的是同一个问题,如果只需要判断a列跟上一行的值是否相等会简单的多。如果不是就会比较复杂一点。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for m = 20 to [a65536].end)xlup.row
if cells(m,1)=cells(m-1,1) then
cells(m,7)=cells(m-1,7)+cells(m,1)
else
cells(m,7)=cells(m-1,7)
end if
next m
循环就解决问题了,请问要数组贮存什么东东?
if cells(m,1)=cells(m-1,1) then
cells(m,7)=cells(m-1,7)+cells(m,1)
else
cells(m,7)=cells(m-1,7)
end if
next m
循环就解决问题了,请问要数组贮存什么东东?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上代码应该可以的,但是牵涉到大量数据的填充的时候,先放在数组里面,然后一次性填充,代码运行要快很多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询