设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3126|回复: 3
打印 上一主题 下一主题

问题vba+sumproduct

[复制链接]
跳转到指定楼层
1#
发表于 2008-8-22 13:45:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SRmaxrow=41  H=75
ActiveSheet.Cells(7, H + 1).Value = Application.SumProduct((Right(Range(Cells(10, H + 3), Cells(SRmaxrow, H + 3)), 2) = "钢化"), Range(Cells(10, H), Cells(SRmaxrow, H)), Range(Cells(10, H + 1), Cells(SRmaxrow, H + 1)), Range(Cells(10, H + 2), Cells(SRmaxrow, H + 2)))                   为什么这样说类型不匹配

少了红色部分就可以得出结果
ActiveSheet.Cells(7, H + 1).Value = Application.SumProduct((Range(Cells(10, H), Cells(SRmaxrow, H)), Range(Cells(10, H + 1), Cells(SRmaxrow, H + 1)), Range(Cells(10, H + 2), Cells(SRmaxrow, H + 2)))  

该怎么办??
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-8-22 15:34:24 | 只看该作者
RIGHT()函数作用于文本
SumProduct()
去掉RIght函数后,后面几个不用“,”号而改用*的格式。
3#
 楼主| 发表于 2008-8-22 16:20:45 | 只看该作者
我要right呢?
不要right  也不用改“,”,公式本身成立!!

[ 本帖最后由 欢欢 于 2008-8-22 16:28 编辑 ]
4#
发表于 2008-8-25 12:04:51 | 只看该作者
ActiveSheet.Cells(7, H + 1).FormulaLocal = "=SumProduct((right((" & Cells(10, H + 3).Address & ":" & Cells(SRmaxrow, H + 3).Address & "),2) =""钢化"")* (" & Cells(10, H).Address & ":" & Cells(SRmaxrow, H).Address & ")* (" & Cells(10, H + 1).Address & ":" & Cells(SRmaxrow, H + 1).Address & ")* (" & Cells(10, H + 2).Address & ":" & Cells(SRmaxrow, H + 2).Address & "))"
ActiveSheet.Cells(7, H + 1).Value = ActiveSheet.Cells(7, H + 1).Value

可能VBA中跟单元格中的解释不一样吧(在ACCESS中执行查询和SQL语句也会出现这样的差别),不过,使用”=“号之后,我单元格公式中不用“*”代替“,”结果显示为0
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-26 17:42 , Processed in 0.110313 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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