故事一:

从前,森林里有三个小房子,一个红房子,一个黄房子,一个蓝房子。

红房子里面放了一个苹果,黄房子里面放了两个苹果,蓝房子里面放了三个苹果。

有一天,外面来了三个小精灵,一个叫红精灵,一个叫黄精灵,一个叫蓝精灵。

三个小精灵发现了三个小房子,看到里面有苹果,他们饿了,都想吃苹果。

于是,他们商量了一下,来抓阄决定谁去哪个房子吃苹果。

真不知道他们是怎么抓的!

红精灵抓到了红房子,黄精灵也抓到了红房子,而蓝精灵抓到了蓝房子。

红精灵和黄精灵两个商量了一下,排队一个一个来。

红精灵先进,他把草果吃掉,然后用魔法变出来10个苹果,这下红房子里面有10个苹果了。

黄精灵进去后,把苹果吃掉,然后用魔法变出来6个苹果,这下红房子里面有6个苹果了。

蓝精灵把蓝房子里的苹果吃掉,然后用魔法变出来12个苹果。

三个小精灵吃完苹果后高高兴兴的走了。

数一数,现在的红房子里面有6个苹果,黄房子里面有2个苹果,蓝房子里面有12个苹果,好神奇啊!

来源百度图片

故事二:

有一天大灰狼来到了森林里,发现了三个小房子,一个红房子,一个黄房子,一个蓝房子,而且里面还分别有1、2、3个苹果,这个它高兴坏了,饿了三天了!但因为高兴过度,昏了过去。

然后他就做了一个梦:

(梦接故事一)

等他醒来后,跑到房子里使劲一看,苹果哪变了啊,怎么还是那么几个?

算了,不管了,先填饱肚子再讲喽!

来源百度图片

有时候需要处理些数据,量也不大,但也不好弄,疫情期间也出不了门,搞点什么东西吧!找到了一本vba的书,正好,可以练练!

小白就是小白,打个比方,虽然都是蛋,但却叫不出来是鸡蛋还是鸭蛋!可在大神眼里,这算是个事吗?

看到了sub传递参数这里就犯迷糊了,书中举的例子看着挺简单的,原理也是那么个原理,可是本人还是一头雾水,莫名的就躁了,什么传址,传值,传旨的!咋回事,搞不懂啊!

百度真的好,一搞就知道。

翻了半天网页,瞅的眼睛都花了,经过辛苦的思考,终于窥得一些门道,就在这里分享了,希望跟和我一样的小白思路能清晰一些。虽然目前为止,俺依然是个小白。

这里晒出一个链接:

通过实例理解传址(byref,可省略)与传值(byval)的区别

http://club.excelhome.net/thread-1212956-1-1.html

(出处: ExcelHome技术论坛)

为了方便看,我把内容复制过来:

Private Sub god(x As Integer, y As Integer, z As Integer)

x = 3 * z + 1

y = 2 * z

z = x + y

End Sub

Private Sub MainP()

Dim x As Integer, y As Integer, z As Integer

x = 1

y = 2

z = 3

Call god(x, x, z)

Debug.Print x & " , " & y & " , " & z

End Sub

在运行这些代码之前先自己算出结果,然后与电脑计算的结果对比一下,看看能不能对得上。

如果对得上,那就不用看这文章了。

如果对不上,那就理解有误喽。

开头的两个故事真的是平淡无奇,第一个是对应传址的,第二个是对应传值的,看能不能带来点启发。需要说明的是传值相当于建了个临时内存,子sub运行结束后就消失了。

好了,就先说这些吧。

vba传值调用_小白关于VBA调用Sub传递参数之传值与传址的思考相关推荐

  1. dev 命令行参数调用_云开发·云调用生成小程序码

    小程序云开发已经支持云调用,开放了很多接口,一直想要的获取小程序码也支持了.这下轻量的小程序也可以有自定义小程序码的功能. 1. 需求 获得一个带参数的小程序码,传播出去以后,用户扫码进入指定页面,根 ...

  2. java安全接口调用_步骤3:调用Java接口

    本文档主要介绍了通过调用Java接口生成工作密钥和进行通用数据加解密的操作方法. 整体流程 初始化SDK.具体内容请参见 配置Java接口.具体内容请参见 初始化SDK 使用以下方法初始化SDK.hs ...

  3. python函数定义和调用_函数定义和调用

    定义函数 在JavaScript中,定义函数的方式如下: function abs(x) { if (x >= 0) { return x; } else { return -x; } } 上述 ...

  4. python参数传递方法_深入理解python中函数传递参数是值传递还是引用传递

    python 的 深入理解python中函数传递参数是值传递还是引用传递 目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用.Python参数传递采用的肯定是&q ...

  5. access vba代码大全_这本VBA经典图书终于做活动了,还是5折!

    HI~大家好.记得之前一直给大家推荐咱们EH论坛编著的VBA图书<Excel VBA经典代码应用大全>,这书出来有段时间了,但一直未见出有力的优惠活动.这次京东破天荒出了个5折,而且是没有 ...

  6. java构造方法何时被调用_构造方法何时被调用

    在java语言中,构造函数又称构造方法. 构造函数的作用是初始化对象,即在创建对象时被系统调用(与普通方法不同,程序不能显示调用构造函数).构造函数还能够被重载,即可以传入参数,当程序中包含有带参的构 ...

  7. 两个子集pom互相调用_声明式服务调用组件Feign

    什么是Feign?    Feign是SpringCloud组件中的一个轻量级RESTful的HTTP服务客户端.Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务. 什么是 ...

  8. java方法中与参数怎么调用_与Java方法调用中的类型参数有关的问题

    Java 8的Java语言规范在"示例4.11-1.类型的用法"中提供了一个带有类型实参的方法调用示例: void loop(S s) { this.loop(s); // is ...

  9. vba遍历字符串_操蛋的VBA程序错误!

    职场中使用Excel VBA编程处理表格数据时,我们肯定会遇到过错误,<神奇的VBA>学习插件中介绍过VBA错误有语法错误,有运行时错误等等.语法错误在编程阶段编辑器会告知我们,这很方便, ...

最新文章

  1. PyTorch 笔记(07)— Tensor 的归并运算(torch.mean、sum、median、mode、norm、dist、std、var、cumsum、cumprod)
  2. python的语言是什么歌_用python对歌词进行语言分析
  3. 【译】为什么我更喜欢对象而不是switch语句
  4. eigrp hello报文格式
  5. php 数组导出csv_php导出百万数据到csv
  6. 离职证明(解除劳动合同书)是否会毁你一生?
  7. java抓取百度搜索结果_java实现抓取百度对某站点搜索结果
  8. 2月11日 TensorBoard+DNN+CNN
  9. Mac 脚本编辑器(AppleScript)如何使用录制功能
  10. c语言使用的编程环境是,啊哈C语言编程-第3课-C语言编程环境
  11. 三步教你手动破解网易云音乐加密
  12. iOS下载历史版本App教程
  13. Linux 之查看 OpenCV 版本并卸载重装
  14. wps自动生成目录总是有正文内容
  15. cobble批量装机原理与部署
  16. 计算机里被删除的文件可以在哪里进行恢复,电脑里的文件夹不小心删除了找回来的方法...
  17. Iphone手机被偷了 我是如何自保和尝试找回的
  18. CDN 在游戏领域的应用
  19. 从GitHub火到了博客,共计1658页的《Java岗面试核心MCA版》,拿走不谢
  20. 6.S081 lab: networking e1000 网卡驱动 附 Linux 网卡驱动编写分析

热门文章

  1. FCM算法实现Python(简洁版)
  2. 17、任务十六——事件委托机制、简单表单验证
  3. 代码重构的实战经验和那些坑
  4. Android Linux自带iptables配置IP访问规则
  5. MR案例:CombineFileInputFormat
  6. JavaWeb学习之Path总结、ServletContext、ServletResponse、ServletRequest(3)
  7. Struts2学习入门
  8. Windows XP环境下Apache2.2.21和Tomcat7.0.26下的整合
  9. 使用CInternetSession和CHttpFile提取网页源码
  10. 未解决:错误的结果 2 (从“D:\Program Files\Microsoft Visual Studio 8\VC\bin\cl.exe”返回)。...