概要

学习一种新语言, 数据类型和关键字是第一步.

数据类型

常用的数据类型如下:

类型 存储空间 范围
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基础 - 数据类型的更多相关文章

  1. Office·Word高级·VBA基础概念语法

    阅文时长 | 5.21分钟 字数统计 | 1823字符 『Office·Word高级·VBA基础概念语法』 编写人 | SCscHero 编写时间 | Monday, June 29, 2020 文章 ...

  2. [.net 面向对象编程基础] (3) 基础中的基础——数据类型

    [.net 面向对象编程基础] (3) 基础中的基础——数据类型 关于数据类型,这是基础中的基础. 基础..基础..基础.基本功必须要扎实. 首先,从使用电脑开始,再到编程,电脑要存储数据,就要按类型 ...

  3. TypeScript学习指南第一章--基础数据类型(Basic Types)

    基础数据类型(Basic Types) 为了搭建应用程序,我们需要使用一些基础数据类型比如:numbers,strings,structures,boolean等等. 在TypeScript中除了Ja ...

  4. VBA基础——循环语句

    VBA基础之循环语句 Sub s1() Dim rg As Range For Each rg In Range("a1:b7,d5:e9") If rg = "&quo ...

  5. 【Swift】学习笔记(一)——熟知 基础数据类型,编码风格,元组,主张

    自从苹果宣布swift之后,我一直想了解,他一直没有能够把它的正式学习,从今天开始,我会用我的博客来驱动swift得知,据我们了解还快. 1.定义变量和常量 var  定义变量,let定义常量. 比如 ...

  6. 二、Windows基础数据类型

    六.Windows Data Types 简介: 6.1.这些数据类型都是C语言数据类型的再次的进行包装. 6.2.因为考虑到如果使用的是C中的基础数据类型可能无法表示,想表示的精准的含义. 6.3. ...

  7. java基础数据类型包装类

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  8. 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新 ...

  9. Python基础数据类型之列表和元组

    一.列表   list 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li ...

随机推荐

  1. DirectShow 简介

    一.DirectShow 简介 DirectShow(简称 DShow) 是一个 Windows 平台上的流媒体框架,提供了高质量的多媒体流采集和回放功能.它支持多种多样的媒体文件格式,包括 ASF. ...

  2. 立足于运维与监控的前端框架 NoahV

    NoahV是一个致力于解决中后台前端效率问题的前端框架,立足于运维和监控的应用场景,使用当前前端最新的技术栈并结合团队在项目开发中的最佳实践从而推出的前端开发框架. NoahV提供的功能覆盖了从开发到 ...

  3. IT兄弟连 HTML5教程 HTML5行业的发展预测

    现在的互联网市场上,HTML5在快速地成长,甚至是未来几年里将会有很多公司进入HTML5这个领域,HTML5也会像传统的Flex,Flash,Silverlight和Objective-C那样,更容易 ...

  4. Linux常用命令之网络命令

    write命令 write命令用于向指定登录用户终端上发送信息.通过write命令可传递信息给另一位登入系统的用户,当输入完毕后,键入EOF表示信息结束,write命令就会将信息传给对方.如果接收信息 ...

  5. C#函数的参数传递2(ref\out)

    using System; namespace class1 { class program { static void Main(string[] args) { Console.Write(&qu ...

  6. Python爬虫:设置Cookie解决网站拦截并爬取蚂蚁短租

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: Eastmount PS:如有需要Python学习资料的小伙伴可以加 ...

  7. boolean matches(String regex)正则表达式判断当前字符串是否满足格式要求

    package seday02;/*** boolean matches(String regex) * 使用给定正则表达式判断当前字符串是否满足格式要求,满足 则返回true. * 注意:此方法是做 ...

  8. Android 蓝牙开发(3)——蓝牙的详细介绍

    前面的两篇文章,主要是在 Android 官网关于蓝牙介绍的基础上加上自己的理解完成的.主要针对的是 Android 开发中的一些 API 的使用. 第一篇文章 Android 蓝牙开发(1) 主要是 ...

  9. python:html元素解析

    说明 主要是总结我通过python实现html解析的一个初步的思路和记录实现基础html解析的代码.本解析方式仅仅 只是实现了html按元素解析的功能,具体元素的分类获取还得需要再进行进一步的优化. ...

  10. vs code切换中英文界面

    1. 在vs code的应用扩展中搜索这个插件: Chinese (Simplified) Language Pack for Visual Studio Code 这个插件,安装完毕重新加载即可生效 ...