Excel精英培训网

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

[已解决]定义变量时的怪现象

[复制链接]
发表于 2016-5-18 08:40 | 显示全部楼层 |阅读模式
有个过程count1()调用count2(),运行就提示count1()里面的第3句   编译错误: “ByRef   参数类型不符”,同时那个 Call count2( r )里的参数 r 被选中。
程序如下
Dim new_r As Integer
Public Sub count1()
Dim r, begin_r  As Integer

begin_r = Worksheets(1).Range("h2").Value
new_r = Worksheets(1).Range("h4").Value   

For r = begin_r  To new_r
   Call count2( r )
next

end  sub
____________________________________________________
被调用的count2( ) 里面的临时变量也定义了,其内容就不附上了。
Public Sub countso302(temp_r  As  Integer)

后来我把第3句改成Dim  r  As Integer,  begin_r  As  Integer就正常了。难道 r 与  begin_r不可以使用一个As   Integer吗?
其它程序里我写过 Dim x, y, i, j, k, p, q, s   As Integer,那么多变量使用一个As   Integer也没出过错呀?
请教高手这是咋回事?
最佳答案
2016-5-18 09:22
Dim x, y, i, j, k, p, q, s  As Integer

这样的写法,As Integer 只对最后一个 s变量 起类型定义的作用。
其余将使用默认的As Variant

…………
正确的写法-1:
一行一行分开来写
Dim x As Integer
Dim y As Integer
Dim i As Integer
……
Dim s As Integer

或者正确的写法-2:
合并起来就很长、很难看。
Dim x As Integer, y As Integer, i As Integer, j As Integer, k As Integer, p As Integer, q As Integer, s As Integer


正确的写法-3:
可以用简写,用%代替As Integer:
Dim x%, y%, i%, j%, k%, p%, q%, s%


…………
总之,定义变量类型没办法偷懒,
除了默认 As Variant 可以省略,其它的都不能省。

以上。
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-5-18 09:22 | 显示全部楼层    本楼为最佳答案   
Dim x, y, i, j, k, p, q, s  As Integer

这样的写法,As Integer 只对最后一个 s变量 起类型定义的作用。
其余将使用默认的As Variant

…………
正确的写法-1:
一行一行分开来写
Dim x As Integer
Dim y As Integer
Dim i As Integer
……
Dim s As Integer

或者正确的写法-2:
合并起来就很长、很难看。
Dim x As Integer, y As Integer, i As Integer, j As Integer, k As Integer, p As Integer, q As Integer, s As Integer


正确的写法-3:
可以用简写,用%代替As Integer:
Dim x%, y%, i%, j%, k%, p%, q%, s%


…………
总之,定义变量类型没办法偷懒,
除了默认 As Variant 可以省略,其它的都不能省。

以上。

评分

参与人数 1 +1 收起 理由
bdggch + 1 很给力,想给3分,论坛评分区间只让给1分,.

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-5-18 09:56 | 显示全部楼层
香川群子 发表于 2016-5-18 09:22
Dim x, y, i, j, k, p, q, s  As Integer

这样的写法,As Integer 只对最后一个 s变量 起类型定义的作用 ...

奥,原来是这么回事,方式真全面,晓得了,谢谢!谢谢!
哈,这回30多个程序修改够我忙的了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-18 11:24 , Processed in 0.321449 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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