如何在excel中用VBA代码实现有条件的累加,变量是数组的,循环结束后一次性将结果返回到表里 20

1.A列是文本,B列是数据,结果数据在C列。2.要求当A列值是相同文本时,就累加B列数据到C列;如果A列值是不同文本时,结果数据C列等于B列数据。3.初值C2等于B2,那... 1.A列是文本,B列是数据,结果数据在C列。
2.要求当A列值是相同文本时,就累加B列数据到C列;如果A列值是不同文本时,结果
数据C列等于B列数据。
3. 初值C2等于B2,那么C3的值有以下两种可能。
如果A3的值等于A2,那么C3的值就等于B3+C2
如果A3的值不等于A2,那么C3的值就等于B3
以此类推。
要求C列的值先放在数组里,程序运行完成后再将值一次性赋值给C列。
展开
 我来答
纸枫林
2012-10-26 · TA获得超过393个赞
知道答主
回答量:117
采纳率:0%
帮助的人:29.4万
展开全部
有几个问题:
1.当A列是相同文本时,这是连续的吗?比如是:11223444576...还是112123332...
2.关于你说的第3点就是这个描述,A1跟A2不相等,但是跟A3相等,这样需要B1和B3的值相加吗?

这两点确认的是同一个问题,如果只需要判断A列跟上一行的值是否相等会简单的多。如果不是就会比较复杂一点。
更多追问追答
追问
A列值相同的都连续的,即数据已经按A列排过序了
追答
sub 特殊求和()
b = [a65536].End(xlUp).Row
For u = 1 To b
i=1
do
i=i+1
loop until cells(i+u,1).valuecells(i,1).value and cells(u,1).value""
cells(u,3)=Application.WorksheetFunction.Sum(range(cells(u,2),cells(u+p-1,2)))
i=i+p-1
next i
end sub

只是在记事本里简单写了下思路。调试的时候改一下就好了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式