设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

请高手老师帮我修改代码

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2016-2-13 19:47:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请老师帮我查查代码,哪里错了,得出31行里的小计数据有时对,有时不对,有时是0,请老师帮我修改代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2016-2-13 23:14:31 | 只看该作者
ActiveWorkbook.Sheets("人力1").Range("j31") = WorksheetFunction.Sum(Range("j6:j30"))
如果被计算的工作表不是活动工作表时,等号前后的值不一定是你想要计算的单元格区域。你这样的代码,每句前只好加上sheets("人力1").select等等了。
3#
发表于 2016-2-16 14:24:11 | 只看该作者
本帖最后由 roych 于 2016-2-16 14:25 编辑

ActiveWorkbook.Sheets("人力1").Range("j31") = WorksheetFunction.Sum(Range("j6:j30"))
ActiveWorkbook.Sheets("人力1").Range("k31") = WorksheetFunction.Sum(Range("k6:k30"))
ActiveWorkbook.Sheets("人机配合1").Range("i31") = WorksheetFunction.Sum(Range("i6:i30"))
ActiveWorkbook.Sheets("人机配合1").Range("k31") = WorksheetFunction.Sum(Range("k6:k30"))
ActiveWorkbook.Sheets("人机配合1").Range("l31") = WorksheetFunction.Sum(Range("L6:L30"))
ActiveWorkbook.Sheets("人机配合2").Range("i31") = WorksheetFunction.Sum(Range("i6:i30"))
ActiveWorkbook.Sheets("人机配合2").Range("k31") = WorksheetFunction.Sum(Range("k6:k30"))
ActiveWorkbook.Sheets("人机配合2").Range("L31") = WorksheetFunction.Sum(Range("L6:L30"))
------------------------------------------------------------------------------------------------------------
由于原代码求和部分没有指定工作表,因此总有2个表是不对的。

以工作表“人力1”为例,修改如下:
-------------------------------------------------------------------------------------------
with ActiveWorkbook.Sheets("人力1")'注意,sum的后面还有一个圆点号。
.Range("j31") = WorksheetFunction.Sum(.Range("j6:j30"))
.Range("k31") = WorksheetFunction.Sum(.Range("k6:k30"))
end with
其它类似。。。。

点击这里给我发消息

4#
 楼主| 发表于 2016-2-17 19:45:09 | 只看该作者
roych 发表于 2016-2-16 14:24
ActiveWorkbook.Sheets("人力1").Range("j31") = WorksheetFunction.Sum(Range("j6:j30"))
ActiveWorkbook ...

老师,sum(.Range(j6:j30))     每一句加上小圆点后运行出对话框:编译错误     无效或不合格的引用,请老师再帮我查查代码

点击这里给我发消息

5#
 楼主| 发表于 2016-2-17 20:26:36 | 只看该作者
tigerliu007 发表于 2016-2-13 23:14
ActiveWorkbook.Sheets("人力1").Range("j31") = WorksheetFunction.Sum(Range("j6:j30"))
如果被计算的 ...

谢谢老师,每句前加上Sheets("人力1").Select     Sheets("人机配合1").Select    Sheets("人机配合2").Select后,人力1小计j31 K31;人机配合1及人机配合2小计i31  k31   l31的数据都对了,谢谢老师们!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-3 15:06 , Processed in 0.090989 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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