Excel精英培训网

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

关于模块引用出错的问题

[复制链接]
发表于 2013-4-15 21:28 | 显示全部楼层 |阅读模式
请看看下面的代码为什么第二步不计算呢?
在引用模块进行完成后,想将引用后的数据进行求和,于是想用call 求和进行 但是不成功,什么原因呢?

Dim m As Integer
For m = 6 To 21
Cells(m, "s") = Application.WorksheetFunction.Sum(Range(Cells(m, "C"), Cells(m, "R")))
Next m
End Sub

Sub 引用()
Dim i As Integer
Dim y As Integer
For i = 3 To 18
  x = Cells(5, i).Value
  For y = 6 To 21
  Cells(y, i) = Sheets("" & x).Cells(y, "N")
  Next y
Next i
call 求和
End Sub

 楼主| 发表于 2013-4-15 22:10 | 显示全部楼层
两个模块单独使用都可以
但是放在一起使用就不行了  只执行引用 而不执行求和  怎么回事呢?


日日思君不见君????

点评

如果上传了附件,说不定已经解决了  发表于 2013-4-15 22:36
回复

使用道具 举报

 楼主| 发表于 2013-4-15 23:05 | 显示全部楼层

解决了

Sub 引用1()
On Error GoTo 100
Dim i As Integer
Dim y As Integer
For i = 3 To 18
  x = Cells(5, i).Value
  For y = 6 To 21
  Cells(y, i) = Sheets("" & x).Cells(y, "N")
  Next y
Next i
Exit Sub
100:
Call 求和
End Sub
回复

使用道具 举报

 楼主| 发表于 2013-4-15 23:23 | 显示全部楼层
奇怪了  
同样的代码
怎么有的工作簿里有效
而有的工作簿里无效呢
还有
sub 模块对所有的工作表都起一样的作用吗
比如
一个模块 在sheet1 里 和sheet2里产生一样的作用吗
回复

使用道具 举报

发表于 2013-4-16 07:44 | 显示全部楼层
要想所有的工作表或过程都能正常调用的,都是放到标准模块里的

当然,如果你会的话,也可以放到类模块里面

但是,并非放到标准模块里的过程或函数都能被调用的

关键还得看你的过程名开头使用了什么语句,还有是否设置了该模块为私有!!

即使排除这些因素,你的过程是否正确书写,也是一个很重要的因素!!

所以附件很重要,
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 17:00 , Processed in 0.411309 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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