EXCEL VBA 如何进行数据的筛选?
有两组数据a5c10b5a10d2b3c7a8以上如何用vba将它变成如下a23c17b8d2我想用循环来做,但是会有重复。...
有两组数据
a 5
c 10
b 5
a 10
d 2
b 3
c 7
a 8
以上如何用vba将它变成如下
a 23
c 17
b 8
d 2
我想用循环来做,但是会有重复。 展开
a 5
c 10
b 5
a 10
d 2
b 3
c 7
a 8
以上如何用vba将它变成如下
a 23
c 17
b 8
d 2
我想用循环来做,但是会有重复。 展开
3个回答
展开全部
假设数字在A,B列
with activesheet
i=0
10 i=i+1
if .cells(i,1)="" then goto 100
if .cells(i,1)="a" then a1=a1+.cells(i,2)
if .cells(i,1)="b" then b1=b1+.cells(i,2)
if .cells(i,1)="c" then c1=c1+.cells(i,2)
if .cells(i,1)="d" then d1=d1+.cells(i,2)
goto 10
100 .cells(1,4)=a1
.cells(2,4)=b1
.cells(3,4)=c1
.cells(4,4)=d1
end with
追问
这里要说明一下,不止有abcd四个字母,可能还有efghik......就是我们无法知道一共有多少个字母,也无法知道它们分别是什么字母。
追答
dim x(),y()
with activesheet
i=0:k=1
ReDim Preserve x(K)
ReDim Preserve y(K)
10 i=i+1
if .cells(i,1)="" then goto 100
for j=1 to K
if x(j)=.cells(i,1) then y(j)=y(j)+.cells(i,2):goto 10
next
k=k+1
ReDim Preserve x(K)
ReDim Preserve y(K)
x(K)=.cells(i,1)
y(K)=.cells(i,2)
goto 10
100 for w=1 to k
.cells(w,4)=x(w)
.cells(w,5)=y(w)
next
end with
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-27 · 知道合伙人软件行家
关注
展开全部
用字典法最快
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询