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 函数说明 提示用户输入值.当输入值后,如果用户单击确定 按钮或按下键盘上 ...
随机推荐
- MySql5.6表操作
MySql5.6表操作 数据类型 整型 浮点型 字符类型 日期类型 枚举类型与集合类型 约束条件 Primary key Unique key Not null Foreign key 创建表的完整语 ...
- LED Decorative Light Supplier Introduction - LED Track Light Products
LED Decorative Light Supplier introduction: LED track light is a track light with LED as the ligh ...
- drc实现
原理参考之前转载的matlab上关于DRC的描述. 目前主要实现了compressor和expander. compressor: Limit: expander: 实现代码: #include< ...
- 【转载】C/C++预处理器
转自:http://www.cnblogs.com/lidabo/archive/2012/08/27/2658909.html C/C++编译系统编译程序的过程为预处理.编译.链接.预处理器是在程序 ...
- Java与Web前端发展前景及薪资对比
Web前端和Java谁的薪资待遇高?关于这个问题,是很多网友都感兴趣的,在各大论坛贴吧上也看到了不少类似的问题. 现在的互联网行业飞速发展,因此有很多小伙伴想要进入IT行业分一杯羹,但是关于学习什么技 ...
- Vue - 解决路由过渡动画抖动问题
前言 Vue-Router 作为 Vue 的核心模块,它为我们提供了基于组件的路由配置.路由参数等功能,让单页面应用变得更易于管理.良好的路由管理尤为重要,比如路由拦截.路由懒加载.路由权限等都在开发 ...
- Codeforces Round #613 (Div. 2)D(贪心,分治)
构造两颗深度为30的字典树(根节点分别是0和1),结点只有0和1,从根节点向下DFS,贪心取答案. #define HAVE_STRUCT_TIMESPEC #include<bits/stdc ...
- Day0 认识Java与变量类型
字节码与虚拟机 Java介于编译型语言和解释型语言之间.编译型语言如C.C++,代码是直接编译成机器码执行,但是不同的平台(x86.ARM等)CPU的指令集不同,因此,需要编译出每一种平台的对应机器码 ...
- async+队列queue.Queue()
import queue import time import random import threading import asyncio import logging logging.basicC ...
- Python中的参数解包:`*`表达式和 `**`表达式
目录 1.参数解包:方法调用中的*表达式和**表达式 2.参数解包:方法定义中的*表达式和**表达式 3.在元组,列表,集合和字典中解包 4.Extended Unpacking:赋值表达式左边的*表 ...