VBA基础 - 数据类型
概要
学习一种新语言, 数据类型和关键字是第一步.
数据类型
常用的数据类型如下:
| 类型 | 存储空间 | 范围 |
|---|---|---|
| Boolean | 2 bytes | True 或者 False |
| Byte | 1 byte | 0 ~ 255 |
| Integer | 2 bytes | -32768 ~ 32768 |
| Long | 4 bytes | -2147483648 ~ 2147483647 |
| LongLong | 8 bytes | -2147483648 ~ 2147483647 |
| String | 10 bytes + string length | 0 ~ 20 亿个字符 |
| Object | 4 bytes | 可以赋值给任何对象引用 |
| Single | 4 bytes | -3.402823E38 ~ -1.401298E-45 (对负值) |
| 1.401298E-45 ~ 3.402823E38 (对正值) | ||
| Double | 8 bytes | -1.79769313486231E308 ~ -4.94065645841247E-324 (对负值) |
| 4.94065645841247E-324 ~ 1.79769313486231E308 (对负值) | ||
| Date | 8 bytes | 100 年 1 月 1 日 ~ 9999 年 12 月 31 日 0:00:00 ~ 23:59:59 |
| Variant | 16 bytes | 任意值, 性能较低 |
VBA 中提供了一系列 函数用于类型之间的转换
运算符
运算符是和数据类型同样, 是使用最多的部分.
| 类型 | 运算符 | 说明 | 示例 |
|---|---|---|---|
| 算术运算符 | * | 乘法 | MyValue = 2 * 2 ' Returns 4. |
| ^ | 乘方 | MyValue = 2 ^ 2 ' Returns 4. | |
| / | 除法运算, 返回浮点型结果 | MyValue = 10 / 4 ' Returns 2.5. | |
| \ | 除法运算, 返回整数结果 | MyValue = 100 \ 3 ' Returns 33. | |
| Mod | 求余数 | MyResult = 10 Mod 3 ' Returns 1. | |
| + | 加法 | MyNumber = 2 + 2 ' Returns 4. | |
| - | 减法 | MyResult = 4 - 2 ' Returns 2. | |
| 比较运算符 | = | 判断是否相等 | Check = (4 = 4) ' Returns True |
| Is | 判断 2 个对象的引用是否相同 | Set ThisObject = MyObject | |
| MyCheck = ThisObject Is ThisObject ' Returns True. | |||
| Like | 比较字符串时, 可以使用通配符, 简化版的正则 | MyCheck = "aBBBa" Like "a*a" ' Returns True. | |
| 连接运算符 | & | 连接字符串 | MyStr = "Hello" & " World" ' Returns "Hello World". |
| + | 除了作为加法, 还可以用在字符串上 | Var1 = "34": Var2 = 6; MyNumber = Var1 + Var2 ' Returns 40. | |
| Var1 = "34": Var2 = "6"; MyNumber = Var1 + Var2 ' Returns "346". | |||
| 逻辑运算符 | And | 逻辑与 | |
| Eqv | 逻辑等于 | ||
| Imp | 不太常用 | imp-operator | |
| Not | 逻辑非 | ||
| Or | 逻辑或 | ||
| Xor | 逻辑异或 |
变量
有了数据类型, 就可以定义各种变量, 完成相应的计算. 变量的定义和计算, 和其他编程语言也没有什么区别, 这里主要提下变量的生命周期.
全局变量和局部变量
1 Dim globalX As Integer
2
3 Sub Test()
4 f1
5 globalX = globalX + 1
6 localX = localX + 1
7 f1
8 End Sub
9
10 Function f1()
11 Dim localX As Integer
12
13 Debug.Print "全局变量 " & globalX
14 Debug.Print "局部变量 " & localX
15 End Function
运行 Test, 输出:
全局变量 0
局部变量 0
全局变量 1
局部变量 0
静态变量和动态变量
1 Sub Test()
2 f1
3 f1
4 f1
5 End Sub
6
7 Function f1()
8 Dim dX As Integer
9 Static sX As Integer
10
11 sX = sX + 1
12 dX = dX + 1
13 Debug.Print "静态变量 " & sX
14 Debug.Print "动态变量 " & dX
15 End Function
运行 Test, 输出:
静态变量 1
动态变量 1
静态变量 2
动态变量 1
静态变量 3
动态变量 1
VBA基础 - 数据类型的更多相关文章
- Office·Word高级·VBA基础概念语法
阅文时长 | 5.21分钟 字数统计 | 1823字符 『Office·Word高级·VBA基础概念语法』 编写人 | SCscHero 编写时间 | Monday, June 29, 2020 文章 ...
- [.net 面向对象编程基础] (3) 基础中的基础——数据类型
[.net 面向对象编程基础] (3) 基础中的基础——数据类型 关于数据类型,这是基础中的基础. 基础..基础..基础.基本功必须要扎实. 首先,从使用电脑开始,再到编程,电脑要存储数据,就要按类型 ...
- TypeScript学习指南第一章--基础数据类型(Basic Types)
基础数据类型(Basic Types) 为了搭建应用程序,我们需要使用一些基础数据类型比如:numbers,strings,structures,boolean等等. 在TypeScript中除了Ja ...
- VBA基础——循环语句
VBA基础之循环语句 Sub s1() Dim rg As Range For Each rg In Range("a1:b7,d5:e9") If rg = "&quo ...
- 【Swift】学习笔记(一)——熟知 基础数据类型,编码风格,元组,主张
自从苹果宣布swift之后,我一直想了解,他一直没有能够把它的正式学习,从今天开始,我会用我的博客来驱动swift得知,据我们了解还快. 1.定义变量和常量 var 定义变量,let定义常量. 比如 ...
- 二、Windows基础数据类型
六.Windows Data Types 简介: 6.1.这些数据类型都是C语言数据类型的再次的进行包装. 6.2.因为考虑到如果使用的是C中的基础数据类型可能无法表示,想表示的精准的含义. 6.3. ...
- java基础数据类型包装类
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- java.lang基础数据类型boolean、char、byte、short、int、long、float、double (JDK1.8)
java.lang.Boolean public static int hashCode(boolean value) { return value ? 1231 : 1237; } JDK 1.8新 ...
- Python基础数据类型之列表和元组
一.列表 list 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li ...
随机推荐
- leetcode一刷总结,明天二刷
1:基础的数据结构:图掌握极差,二叉树次之 2:常用的算法思想:dp,深度有先,广度优先等等. 3:优化以解决的题目,注意思想的总结 4:将约150道题都刷掉 5:优先解决设计算法思想的题目类别,其次 ...
- app自动化测试初体验
一.appium环境开启 1.开启MUMU模拟器/真机(真机需要开启“USB开发调试模式”),使用命令行adb devices检查设备是否正常连接 2.开启appium 双击运行appium应用 正常 ...
- JMS消息传递类型特点介绍
对于消息的传递有两种类型: 一种是点对点的,即一个生产者和一个消费者一一对应: 另一种是发布/ 订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进 行接收. 特点介绍: 点到点模型点对点传 ...
- WebJar的打包和使用
前言 WebJar官网:https://www.webjars.org/,对于任何与Servlet 3兼容的容器,WEB-INF/lib目录中的webjar都会自动作为静态资源提供.这是因为WEB-I ...
- c# winform 窗体失去焦点关闭(钩子实现)
先来一个辅助类 using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Inte ...
- VS Code 快捷键 && 常用插件
常用插件 分类 插件名称 说明 开发 C# C#语言 C# Extensions C#扩展功能(添加类,接口,智能提示) C# XML Documentation Comments 代码添加注释 ...
- CSS语法规范一
CSS语法规范 CSS规则由两个主要的部分构成:选择器以及一条或多条声明. p{ color: red; font-size: 12px; } CSS代码风格 样式格式书写 紧凑格式 h3 {colo ...
- logstash的安装,启动与输出
在相应的目录下 wget https://artifacts.elastic.co/downloads/logstash/logstash-6.6.2.tar.gz 解压 tar -zxvf log ...
- Ubuntu12.04配置永久静态ip地址
1 切换到 root 用户 先临时切换到root用户(因为我不想每打一个命令都要在前面加上sudo) $ sudo -i 然后,输入密码临时切换到root用户.如下图: 2 配置IP 打开 /etc/ ...
- axios+vue实现动态渲染员工数据+数据是对象
<style> table{ width: 600px; margin: 0 auto; text-align: center; border-collapse: collapse; /* ...