Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3845|回复: 7

vba合并单元格对应的数据计算

[复制链接]
发表于 2019-7-22 22:31 | 显示全部楼层 |阅读模式
本帖最后由 狗尾草99 于 2019-7-22 23:02 编辑

求合并单元格对应A B 列所在行的数值乘积和除以A 列所在行的数值和。excel公式需要一个一个计算,求bva代码一次性计算多个工作表中合并单元格值
360截图167510237811384.png

谢谢.zip

9.72 KB, 下载次数: 4

excel数据文件

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2019-7-23 07:53 | 显示全部楼层
点按钮运行。

谢谢.rar

20.13 KB, 下载次数: 16

回复

使用道具 举报

 楼主| 发表于 2019-7-23 09:37 | 显示全部楼层

Sub 合并()
For Each sh In Sheets
sh.Select
   For x = 1 To Range("a65536").End(xlUp).Row
   If Range("d" & x).MergeArea.Rows.Count > 1 Then
    s = Range("d" & x).MergeArea.Rows.Count
       Range("d" & x) = "=SUMPRODUCT(" & Range("a" & x).Resize(s).Address(0) & "*" & Range("b" & x).Resize(s).Address(0) & ")/SUM(" & Range("a" & x).Resize(s, 2).Address(0) & ")"
        x = x + s - 1
    End If
   Next
Next
End Sub
谢谢您的代码,有一点不太明白,SUM(" & Range("a" & x).Resize(s, 2).Address(0) & ")"中Resize(s, 2)里的2是什么作用呢,我修改列号后成为SUM(" & Range("G" & x).Resize(s, 2).Address(0) & ")"得到的正确结果,把括号里2删除成为Resize(s)也是一样的正确结果,求解
回复

使用道具 举报

发表于 2019-7-23 10:43 | 显示全部楼层
当x=5,s=4时
有2,即A5:A8。表示从单元格Range("a" & x) ,往下s行,往右2列
没2,即A5:B8
回复

使用道具 举报

发表于 2019-7-23 12:34 | 显示全部楼层
狗尾草99 发表于 2019-7-23 09:37
Sub 合并()
For Each sh In Sheets
sh.Select

给你举例。至于你说的有没有2都正确,要看你的表才能知道,你自己先理解一下。一、range("a2").resize(10,2):  resize表示单元格区域范围。在此例中,表示从a2开始,向下10行、向右2列的一个区域,即a2:b11.;

二、range("a2").resize(10):  其实是range("a2").resize(10,1),这里只是把第二个参数省略了。在此例中,表示从a2开始,向下10行的一个区域,即a2:a11;


回复

使用道具 举报

发表于 2019-7-23 12:34 | 显示全部楼层
爱疯 发表于 2019-7-23 10:43
当x=5,s=4时
有2,即A5:A8。表示从单元格Range("a" & x) ,往下s行,往右2列
没2,即A5:B8


回复

使用道具 举报

 楼主| 发表于 2019-7-23 20:21 | 显示全部楼层
爱疯 发表于 2019-7-23 10:43
当x=5,s=4时
有2,即A5:A8。表示从单元格Range("a" & x) ,往下s行,往右2列
没2,即A5:B8

谢谢
回复

使用道具 举报

 楼主| 发表于 2019-7-23 20:22 | 显示全部楼层
高 发表于 2019-7-23 12:34
给你举例。至于你说的有没有2都正确,要看你的表才能知道,你自己先理解一下。一、range("a2").resize(10 ...

非常感谢您的讲解,这下明白啦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 03:22 , Processed in 0.322778 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表