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 ...
随机推荐
- java之获取变量的类型
java要获取变量的类型必须自己定义一个函数: public class Test{ public static void main(String[] args) { short a = 1; a + ...
- 1+x 证书 Web 前端开发中级理论考试(试卷 7 ) 答案
1+x 证书 Web 前端开发中级理论考试(试卷 7 ) 答案 转载请注明来源:妙笔生花个人博客http://blog.zh66.club/index.php/archives/438/ 官方QQ群 ...
- 《细说PHP》第四版 样章 第18章 数据库抽象层PDO 8
18.6.4 执行准备好的查询 当准备好查询并绑定了相应的参数后,就可以通过调用PDOStatement类对象中的execute()方法,反复执行在数据库缓存区准备好的语句了.在下面的示例中,向前面 ...
- Zabbix 数据清理
目录 Zabbix 数据清理的一系列操作 一.问题 二.解决办法 Zabbix 数据清理的一系列操作 基本信息: Zabbix 版本 4.0.9 MySQL 版本 5.5 一.问题 我们将 Zabbi ...
- 爬取bilibili首页菜单获取li内容
代码: import requests from bs4 import BeautifulSoup def html_save(s): with open('哔哩哔哩.csv','a')as f: f ...
- python基础(15):内置函数(一)
1. 内置函数 什么是内置函数? 就是python给你提供的,拿来直接⽤的函数,比如print,input等等,截⽌到python版本3.6.2 python⼀共提供了68个内置函数.他们就是pyth ...
- 微信小程序 + Bmob后端云
闲暇之余,写了一个私人的小程序,但由于带有商品.订单功能被拒了(腾讯太狗带了,只有商家才可以使用这种功能),没办法,不给过审,那就拿出来分享一下. 原本想的是做一个超市类的电商平台,带有下单支付等功能 ...
- NSURLSession中的downloadTask的使用
1.用downloadTask下载图片 优点:简单 缺点:不能监听下载的进度 代码示例: NSURL *url = [NSURL URLWithString:@"http://pic1.wi ...
- emmet的用法
emmet 是一个提高前端开发效率的一个工具.emmet允许在html.xml.和css等文档中输入缩写,然后按tab键自动展开为完整的代码片段. 一.Sublime Text 3 安装插件Emmet ...
- Vue实战狗尾草博客后台管理系统第七章
Vue实战狗尾草博客后台管理平台第七章 本章内容为借助模块化来阐述Vuex的进阶使用. 在复杂项目的架构中,对于数据的处理是一个非常头疼的问题.处理不当,不仅对维护增加相当的工作负担,也给开发增加巨大 ...