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 函数说明 提示用户输入值.当输入值后,如果用户单击确定 按钮或按下键盘上 ...
随机推荐
- span强制不换行
<nobr>不换行内容</nobr> 无论多少文字均不希望换行显示,超出宽度的内容会显示不出来. <div> <nobr> <span class ...
- Matlab filter常用函数
Filtering and Analysis Functions Filtering Function Description fftfilt Filters a signal with a digi ...
- Oracle 11G在用EXP 导入、导出时,若有空表对导入导出中遇到的问题的解决
11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segmen ...
- NIO-BufferAPI
一 核心要素 capacity (容量):不能为负,不可更改:就是buffer的长度(buffer.length) limit (限制):指第一个不可被读入缓冲区元素的位置:不可为负,若positio ...
- select id from BS_BU_RULETYPE t start with t.PARENT_ID = 175 connect by t.PARENT_ID = prior t.id
select id from BS_BU_RULETYPE t start with t.PARENT_ID = 175 connect by t.PARENT_ID = prior t.id
- Java出现NoSuchElementException异常
参考网址:https://blog.csdn.net/xiao_ma_csdn/article/details/78906650 出现这个异常是线程访问越界,这个时候就要检查下到底是哪里越界. 原因是 ...
- iOS 10.3+ 动态修改 App 图标
支持系统: iOS 10.3+ tvOS 10.2+ Apple 官方文档 官方 API: @interface UIApplication (UIAlternateApplicationIcons) ...
- JDBC--处理Blob
1.LOB(Large Objects)大对象,是用来存储大量的二进制和文本数据的一种数据类型(一个LOB字段可存储多达4GB的数据) --LOB分类两种类型:1)内部LOB: 2)外部LOB: -- ...
- 放眼全球,关注游戏质量变化:腾讯WeTest发布《2019中国移动游戏质量白皮书》
2019是中国游戏市场,尤其是手游市场称得上是跌宕起伏的一年,同时也是各大厂商推陈出新突破过去的一年.面对竞争激烈的市场,手游厂商们不仅着眼于游戏质量的提升,更是将一众优秀的国产游戏带入到了海外市场, ...
- zabbix监控服务部署脚本
搭建平台脚本: #!/bin/bash #zabbix监控服务部署 #脚本使用前提:yum搭建,nginx-1.12.2源码包,zabbix-3.4.4源码包,要求源码包尽量在单一目录下,最好在默认管 ...