VBA 学习笔记 - 变量与常量
学习资料:https://www.yiibai.com/vba/vba_variables.html
变量和常量命名规则
- 必须以字母开头
- 不能包含空格、句点(.)、感叹号(!)或字符@,&,$,#
- 长度不能超过 255 个字符
- 不能使用 Visual Basic 保留关键字
变量
变量语法
变量在使用前必须声明即定义变量。
Dim variable_name As variable_type
数据类型
在程序编写中,定义一个变量的数据类型,首先是表示它的存储形式。
其次是通知编译程序使用变量的数据类型,取得优化代码;这样可以提高程序的运行速度,减少内存的占用。
数字型
字节整型 Byte
0 ~ 255
特点:占用字节数少,同样一个字母 Byte 类型只占用 1 个字节
参考资料:https://bbs.csdn.net/topics/20409629
整型 Integer
-32,768 ~ 32,767
说明:存储为 16 位(2 个字节)的整数
长整型 Long
-2,147,483,648 ~ 2,147,483,648
说明:存储为 32 位(4 个字节)有符号的数值形式
丸子:刚刚看到百度 VB 贴吧 2014 年网友在讨论,有一个数字定义为 Long,结果溢出了,所以说为啥 VB 分得这么详细,直接一个数字型不就完了。
大概还是因为当年存储跟不上,为了节省空间?
单精度浮点值 Single
负值:-3.402823E+38 ~ -1.401298E-45
正值: 1.401298E-45 ~ 3.402823E+38
说明:占用 32 位(4 个字节)存储空间。
单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。当你需要小数部分并且对精度的要求不高时,单精度浮点型的变量是有用的。例如,当表示美元和分时,单精度浮点型是有用的。
双精度浮点值 Double
负值:-1.79769313486232e+308 ~ -4.94065645841247E-324
正值: 4.94065645841247E-324 ~ 1.79769313486232e+308
说明:占用 64 位(8 个字节)的存储空间。
在一些现代的被优化用来进行高速数学计算的处理器上双精度型实际上比单精度的快。所有超出人类经验的数学函数,如 sin( ),cos( ) ,和 sqrt( )均返回双精度的值。当你需要保持多次反复迭代的计算的精确性时,或在操作值很大的数字时,双精度型是最好的选择。
货币型 Currency
-922,337,203,685,477.5808 ~ 922,337,203,685,477.5807
说明:存储为 64 位(8 个字节)整型的数值形式,然后除以 10,000 给出一个定点数,其小数点左边有 15 位数字,右边有 4 位数字。
小数型 Decimal
如果不使用小数,则为+/- 79,228,162,514,264,337,593,543,950,335
如果使用小数,则为:+/- 7.9228162514264337593543950335
说明:适用于要求使用大量有效的整数及小数位数并且没有舍入错误的财务计算。Decimal 类型不会消除对舍入的需要,而是将因舍入而导致的错误降到最少。
非数字型
固定长度 String
1 ~ 65,400 个字符
可变长度 String
0 到 20 亿字符
日期 Date
100 年 1 月 1 日至 9999 年 12 月 31 日
布尔值 Boolean
True / False
Object
任何嵌入的对象
Variant (numeric)
任何大到 double 的数字值
Variant (text)
与可变长度的 string 一样。
示例
Private Sub VariablesDemo()
Dim password As String
password = "123456"
Dim num As Integer
num = 1234
Dim BirthDay As Date
BirthDay = DateValue("1998-10-11")
MsgBox ("设置的密码是:" & password & Chr(10) & "num的值是:" & num & Chr(10) & "Birthday的值是:" & BirthDay)
End Sub
常量
常量语法
Const <<constant_name>> As <<constant_type>> = <<constant_value>>
示例
Private Sub ConstantDemo()
Const MyInteger As Integer = 720
Const myDate As Date = #10/21/2000#
Const myDay As String = "Sunday"
MsgBox ("整数值是:" & MyInteger & Chr(10) & "myDate的值是:" & myDate & Chr(10) & "myDay 的值是:" & myDay)
End Sub
丸子笔记
Private Sub
私有声明过程,大概相当于 Lua 中的 local function 或者 local 变量吧!
Chr
CHR 函数,传入一个数值,返回这个数值对应的 ascii 码字符,比如 chr(65)输出的是大写的 A
chr(13) 表示换行
chr(10) 表示回车
VBA 学习笔记 - 变量与常量的更多相关文章
- Swift学习笔记--变量与常量
1.Swift是一门强类型语言,不能为变量赋予其自身数据类型之外的值: 2.声明变量使用var关键字,声明常量使用let关键字: 3.声明变量或常量时没有对其指定类型且赋予了初值,则编译器会自动推断常 ...
- go学习笔记-变量和常量
变量和常量 变量 基本写法 //定义一个名称为"variableName",类型为"type"的变量 var variableName type //定义三个类 ...
- Swift学习笔记 - 变量和常量
1. Mutability Objective-C offers several classes in both “regular” and mutable versions, such as NSS ...
- Go语言学习笔记三: 常量
Go语言学习笔记三: 常量 定义常量 常量就是在声明后不能再修改的量. const x int = 100 const y string = "abc" const z = &qu ...
- Dart学习笔记-变量常量数据类型
变量和常量 1.变量的定义 main() { var t_str = 'hello world'; var t_num = 123456; String t_str2 = '你好,我很高兴'; int ...
- VBA学习笔记
这是一个学习VBA编程的学习笔记. 一. 介绍 二. 使用手册 2.1. 如何在Excel2010中开始使用VBA? 2.2. 如何使用VBA编辑器进行编程? 三. 语法说明 3.1 数据类型 3.2 ...
- C++ 学习笔记 变量和基本类型(一)
C++ 学习笔记 一.变量和基本类型概述 类型是所有程序的基础.类型告诉我们数据代表什么意思以及可以对数据执行哪些操作. c++基本类型: 字符型 整型 浮点型 c++ 还提供了可用于自定义数据类型的 ...
- C++学习 之 变量和常量的使用(笔记)
一.变量 1.对变量含义的理解: 变量就像是经过工厂加工后有一定容量的容器.在变量定义时,系统充当了工厂的角色,按照类型为变量分配相应的空间.定义完成的变量可以存放相应类型的值,存放的值大于变量所能接 ...
- VBA 学习笔记 - 输入框
学习资料 https://www.yiibai.com/vba/vba_input_box.html 输入框 InputBox 函数说明 提示用户输入值.当输入值后,如果用户单击确定 按钮或按下键盘上 ...
随机推荐
- 用OpenCV读取摄像头
首先插入摄像头 在电脑中查看 #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp ...
- 第三十九篇 入门机器学习——Numpy.array的基础操作——合并与分割向量和矩阵
No.1. 初始化状态 No.2. 合并多个向量为一个向量 No.3. 合并多个矩阵为一个矩阵 No.4. 借助vstack和hstack实现矩阵与向量的快速合并.或多个矩阵快速合并 No.5. 分割 ...
- Go操作Elasticsearch
文章转自 Elasticsearch Elasticsearch 下载 https://www.elastic.co/cn/start 运行 解压后cd到解压目录 ./bin/elasticsea ...
- 云原生学习笔记(3)——Kubernetes基本概念
学习地址:https://developer.aliyun.com/lesson_1651_13078?spm=5176.270689.1397405.6.716ef5f8Q9z1z3#_13078 ...
- testng的注解
今天又学了点testng的新知识.原来在testng执行用例时,同一个class中的各个method按照字母顺序执行.为了实现自定义顺序执行,怎么办呢? 加入注解priority,举例如下: http ...
- Django_模板
1. 模板变量 小插曲 2. 模板点语法和标签 2.1 获取属性 2.2 调用方法 2.3 获取索引 2.4 获取字典中的值 3. 模板中的标签 3.1 if 3.2 for 3.3 注释 乘除 整除 ...
- java基础(七)之子类实例化
知识点;1.生成子类的过程2.使用super调用父类构造函数的方法 首先编写3个文件. Person.java class Person{ String name; int age; Person() ...
- KMP字符串匹配算法详解
KMP算法利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的.具体实现就是实现一个next()函数,函数本身包含了模式串的局部匹配信息.时间复杂度O(m+n). Next()函数 ...
- Java进阶学习(6)之抽象与接口
抽象与接口 抽象 抽象函数 表达概念而无法实现具体代码的函数 抽象类 表达概念而无法构造出实体的类 有抽象函数的类也可以有非抽象函数 实现抽象函数 继承自抽象类的子类必须覆盖父类中的抽象函数 抽象 与 ...
- vue 对象数组中,相邻的且相同类型和内容的数据合并,重组新的数组对象
在项目中,有时候会遇到一些需求,比如行程安排,或者考勤状态.后台返回的获取是这一周的每一天的状态,但是我们前端需求显示就是要把相邻的且状态相同的数据进行合并,所以我们就要重新组合返回的数据.如下所示: ...