专栏首页Excel和Access学习笔记过程(三)形参与实参结合

过程(三)形参与实参结合

上节介绍了Sub过程的定义和调用,后面将介绍过程的传递参数部分。包括实参与形参的结合,以及传地址和传值的差异。

形参与实参的结合

为了使过程更有通用性,很多过程都需要设置参数,传递不同的参数给过程。来执行不同的结果。

由于涉不容易理解的概念,下面就先通过示例来说明,首先在模块中创建一个通用过程jisuan。(在括号定义了 i、k 两个整型变量,再回车。)

由于调用过程时只需要提供的参数是I和k来计算,所以h不用写在参数中,而是在过程中定义。

有参数的过程是无法直接运行的,也无法通过宏调用。下面通过call语句来调用演示。

新建一个test过程,在过程中用call语句调用jisuan过程,并提供参数的值。Call jisuan(i:=2, k:=4) ,如果提供的值和对应的参数位置是一致的,那也可以写成简略的形式为Call jisuan(2,4),如下图所示:

第二种方式虽然可以简化代码,但容易出错,不利于后期代码的维护。

那么示例介绍完,就说明下涉及的官方概念。

1、形参

在刚才示例中,Sub jisuan(i As Integer, k As Integer)回车后,创建了jisuan这个sub过程时,其中 i 和 k 就是形参。

形参是形式参数的简称。是在Sub过程的定义中出现的变量名。因为没有实际值,只是形式上的参数,所以被称为形参。

2、实参

后面在通过call语句调用jisuan过程时,Call jisuan(i:=2, k:=4)。这里的 2 和 4 就是实参。

实参是实际参数的简称,是在调用sub过程时传递给sub过程的值,在VBA中,实际参数可以是常量、变量、数组或是对象类型的数据。

在调用sub过程时,把实参传递给形参,就被称为形参和实参的结合。

(实参是数组的一类,后面会再介绍数组的知识后,再做总结介绍。)


本节主要介绍过程的参数传递中的形参与实参的结合,概念不容易理解,可以结合实例去理解。(实参是数组的情况会再介绍完数组后再补充)。下一节将介绍传地址和传值两种方式,祝大家学习快乐。


本文分享自微信公众号 - Excel和Access学习笔记(excel-note),作者:无言之月

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 过程(五)可选参数和可变参数

    大家好,上节介绍了过程传递参数时,形参与实参结合的两种方式,传地址和传值。本节将介绍可选参数和可变参数。

    无言之月
  • Range单元格对象方法(四)PasteSpecial方法

    选择性黏贴也是excel中经常使用到的功能,在复制数据后根据需求进行选择性黏贴。具体的选择性黏贴选项如下:

    无言之月
  • VBA对象方法概述

    大家好上节介绍了对象的属性,本节将通过简单示例来介绍对象的方法的通用知识点,作为对象方法的入门。

    无言之月
  • 从零开始深度学习(十三):超参数

    想要你的深度神经网络起很好的效果,维度的准确性是最基本的东西,代码不出错也是必须的一步,除了这些以外,还需要规划好参数以及超参数。

    我是管小亮
  • Python-Excel-openpyxl-07-单元格边框设置

    系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3....

    zishendianxia
  • tf.cast

    将张量投射到一个新的类型上。这个操作对x(对于张量)或x进行了强制转换。值(在sparse张量的情况下)到dtype。

    于小勇
  • 微信小程序开发心得第一章:心法修炼

    或许有人会问为毛第一章就来个这么高级吓人的标题,没错,就是为了吸引你阅读,哈哈。根据我的工作经验和多年做生意的经历告诉我,在进入任何一个领域的时候,首先要进行心...

    极乐君
  • 假期前的数据库检查之主动优化(r11笔记第50天)

    快要过年了,很多工作都会放下来,很多计划都会搁置下来,节前的检查还是必要的,尤其是那些看似不起眼的问题尤其需要注意。今天就处理了一起,也算是假期前的性能优化临门...

    jeanron100
  • 如何精准地用打印机在贺卡或邀请函上打字

    2018-08-26 07:35

    walterlv
  • python3进程和线程

    时间片轮转: 给每个进程分配一个时间片, 如果进程在时间片内执行完就直接执行下一个进程, 如果没执行完, 进程释放CPU给下一个进程 优先级队列: 在优先级队列...

    py3study

扫码关注云+社区

领取腾讯云代金券