VBA实现寻找一列里相同数据

各位大侠,我想运行一个简单的VBA:就是从EXCEL里的一列数据里选出名字相同的,然后把他们相对应另一列里的数据相加,单独显示在其他列里,请问该如何实现,多谢啦... 各位大侠,我想运行一个简单的VBA: 就是从EXCEL里的一列数据里选出名字相同的,然后把他们相对应另一列里的数据相加,单独显示在其他列里, 请问该如何实现,多谢啦 展开
 我来答
鱼木混猪哟
高粉答主

推荐于2017-09-13 · 专注Office,尤其Excel和VBA
鱼木混猪哟
采纳数:6078 获赞数:33698

向TA提问 私信TA
展开全部

用VBA中的字典可以轻松实现

详细操作步骤如下:

  1. 数据源:

  2. Alt+F11,VBA编辑中输入如下代码:

  3. 运行,返回工作表,可以看到结果:


杨华山yhs
2011-11-11 · TA获得超过202个赞
知道小有建树答主
回答量:200
采纳率:0%
帮助的人:167万
展开全部

不用VBA就可以实现,用SUMIF函数:

=SUMIF(C$16:C27,C16,F$16:F$27)

C$16:$C27:填有名字的单元格区域

C21        :要判断是否有重复的名字,可以是名字,如"王强"。

F$16:F$27:要计算的另一列

效果如图,最后一列(G列)是结果。

若必须用VBA ,再联系。 

Public Sub 相同名字相加()

han1 = 15 '姓名起始行号

han2 = 30 '姓名结束行号

lie = 1  '1为A列,2为B列,依次类推

sjl = 2  '设置数据列

hzl = 3  '设置会总数据列

biao = "sheet1"

For han = han1 To han2

    xingming = Sheets(biao).Cells(han, lie)

    shuju = 0

    For y = han1 To han2

        xingming1 = Sheets(biao).Cells(y, lie)

        If xingming = xingming1 Then

            shuju = shuju + Sheets(biao).Cells(y, sjl)

        End If

    Next y

    Sheets(biao).Cells(han, hzl) = shuju

Next han

End Sub

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
attycaohua
2011-11-12 · TA获得超过249个赞
知道小有建树答主
回答量:481
采纳率:0%
帮助的人:409万
展开全部
不知道可以不可以
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式