如何在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代码实现,代码中最好能用数组作变量,否则因数据量比较大会运行很长时间,万分感谢!
展开
 我来答
澄壮鲁和志
2020-05-16 · TA获得超过3944个赞
知道大有可为答主
回答量:3179
采纳率:25%
帮助的人:191万
展开全部
有几个问题:
1.当a列是相同文本时,这是连续的吗?比如是:11223444576...还是112123332...
2.关于你说的第3点就是这个描述,a1跟a2不相等,但是跟a3相等,这样需要b1和b3的值相加吗?
这两点确认的是同一个问题,如果只需要判断a列跟上一行的值是否相等会简单的多。如果不是就会比较复杂一点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chiefzjh
2010-03-10 · TA获得超过9088个赞
知道大有可为答主
回答量:7013
采纳率:37%
帮助的人:2355万
展开全部
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

循环就解决问题了,请问要数组贮存什么东东?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
coolbi5
2010-03-11 · TA获得超过1万个赞
知道大有可为答主
回答量:1.1万
采纳率:35%
帮助的人:2454万
展开全部
楼上代码应该可以的,但是牵涉到大量数据的填充的时候,先放在数组里面,然后一次性填充,代码运行要快很多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式