vba 自定义function返回值_VBA语言概览

经过上次文章介绍

郑天玑:如何学习Excel VBA?​zhuanlan.zhihu.com

本文将开启我们正式的Excel VBA之旅,本文的终点将放在VBA语言本身,我们将编写一个最基本的List链表数据结构类型,带大家学习一边VBA语言的基本特性。

1 何谓链表List

大致图示如下:

25caa0ad30209c9b6ac8f27913b6337f.png
  • 1 List有点类似数组,可以将一个个数据串联在一起,进行顺序访问,每个数据被包裹在一个名为node的对象中,node也成了List的基本组成单元。
  • 2 node对象由两个基本元素组成,一个是data,用来存放数据,另一个是nextnode指针用来存放下一个node的地址,这样一来我们获取List中的第一个node之后就可以顺藤摸瓜式地按顺序访问挂载在整条List中的所有node中的数据。(链表最后一个node,它的nextnode=nothing)
  • 3 List链表本身包含一个head指针指向链表头,一个tail指针指向链表尾,一个isize变量记录链表的长度

程序要实现的功能如下:

Sub test()
    Dim mList As New MSList '定义并创建一个链表对象
    '调用链表对象的Append函数往里面添加数据,这个数据会由一个node对象包裹
    '我们这里会往list中添加整型、浮点型、字符串、日期四种不同类型的数据类型
    mList.Append (3) 
    mList.Append (9999.77)
    mList.Append ("租鸡青一")
    mList.Append (#1/1/2020#)
    mList.PrintList '将整个链表中的数据打印出来
End Sub

输出结果如下:

8640a88b66d56c8c1fd952fd4df55e8a.png

2 从零开始的List编写生活

明确了我们的目标,就可以从0开始构建我们的程序了,万里执行始于足下,首先我们新建一张Excel表格,取个名字,然后双击打开,点击到:开发工具-Visual Basic,我们就会进入开发页面

4c394555074326f1ceea30e02c4e269f.png

(PS:如果你打开Excel后发现没有开发工具选项卡:请点击文件-选项-自定义功能区-在主选项卡页上,勾选开发工具选项卡

38a5fe1a1652aa0fdd01bafbc302dc94.png

然后在信任中心启用宏

2a41256383300afad7baf97e315477fe.png

然后我们在右侧的工程栏目中,右键我们的自己的工程,选择插入一个类模块和一个模块:

我们会在类模块里面封装Node和List的基本功能,然后在模块中使用它们

bd3fb9db633ac3d22461c2b22c5f90e6.png

大致是这个样子:

ac6b15fb790e2a83d275e72cf82d4450.png

然后我们要把MSList和Node两个类模块的可见性改为:2-PublicNotCreatable,以便我们未来给其他程序调用

64733445505ba1e2e347e95557d2e5f4.png

ok,万事俱备,但我们不先急于编写Node和List,我们先打开modTtest,创建一个sub test()的过程函数,来编写我们的第一条代码(以后我们的程序会在这个过程函数中运行)

' 英文符号'开头代表此行为注释,在VBA代码编辑器中显示绿色
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值