如何在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列。 展开
2.要求当A列值是相同文本时,就累加B列数据到C列;如果A列值是不同文本时,结果
数据C列等于B列数据。
3. 初值C2等于B2,那么C3的值有以下两种可能。
如果A3的值等于A2,那么C3的值就等于B3+C2
如果A3的值不等于A2,那么C3的值就等于B3
以此类推。
要求C列的值先放在数组里,程序运行完成后再将值一次性赋值给C列。 展开
1个回答
展开全部
有几个问题:
1.当A列是相同文本时,这是连续的吗?比如是:11223444576...还是112123332...
2.关于你说的第3点就是这个描述,A1跟A2不相等,但是跟A3相等,这样需要B1和B3的值相加吗?
这两点确认的是同一个问题,如果只需要判断A列跟上一行的值是否相等会简单的多。如果不是就会比较复杂一点。
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
只是在记事本里简单写了下思路。调试的时候改一下就好了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询