登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

零售创新,创新那些事儿,SPSS,VBA

零售创新

 
 
 

日志

 
 
关于我

新浪微博,零售创新 研究经理,数据分析师 希望和市场研究和零售业的同事共同进步! 本博客发表的都是免费或试用的资料,如果有版权问题请发邮件wangli12a@163.com联系删除。 spss excel vba blog

关于VBA编程的问题:ByRef和ByVai的作用和用法、用途  

2010-11-29 13:49:22|  分类: VB和VBA知识 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

关于VBA编程的问题:ByRef和ByVai的作用和用法、用途

书上有二个小程序:
(一)
Sub UseByVal()
Dim myNumber As Integer
myNumber = 10
S_change myNumber
MsgBox "结果值:" & myNumber
End Sub
Sub S_change(ByVal S_Number As Integer)
S_Number = S_Number + 10
End Sub
(二)
Sub UseByRef()
Dim myNumber As Integer
myNumber = 10
S_change myNumber
MsgBox "结果值:" & myNumber
End Sub
Sub S_change(ByRef S_Number As Integer)
S_Number = S_Number + 10
End Sub
运行(一)对话框显示10,运行(二)对话框显示20,为什么?如何用ByRef和ByVai?
程序运行后,跟程序有关的一些数据会加载到系统内存中,这些数据在内存中都有个地址。传址是指传问递这些数据在内存中的地址,传值是指传递这些数据的值。
比如上面那个变量myNumber,它的值为10,地址为20,如果值变为30,但地址还是20。
传值ByVal
一种传递引数值给程序的方式,如此可让程序存取到变数的值。变数的真正值将不会被程序所更改。
传址ByRef
一种传递引数位址给程序的方式,如此可让程序存取到真正的变数。变数真正的值可被程序所更改,除非特别指定,不然引数预设以传址呼叫。
其实就是ByVal 是值引用,ByRef 是指针引用,值引用不改变值本身,指针引用则改变值本身

  评论这张
 
阅读(901)| 评论(0)

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018