'1 数据类型综述
'在VBA中的数据类型有整数、文本、对象等类型。这些不同的类型有着特定的作用,在进行运算时也会占用
'不同大小的内存,所以我们在编写程序时为了提高运行效率,一般都要定义数据的类型。

'2 数据类型对程序运行的影响

     'byte                       占用1个字节'integer,boolean            占用2个字节'long,single                占用4个字节'Double,Currency,date       占用8个字节'object                     占用4个字节'string(不定长)             占用10+字符长度个字节'String(定长)               占用字符串长度个字节'Variant(任意数字类型)      占用16个字节'Variant(字符串)            占用24+字符串长度个字节Sub sss1()Dim x As LongDim t'Dim k1 As Byte     '用时0.03125sDim k'Dim k1 As Integer '用时0.15625sDim k1 As String   '用时0.203125sk = 1t = TimerFor x = 1 To 1000000k1 = kNext xDebug.Print Timer - tEnd Sub

数据类型检查
'1 检查是否为空

Sub s1()Debug.Print Range("a1") = "" '判断真空,无法判断假空Debug.Print Len(Range("a1")) = 0 '判断真空,无法判断假空Debug.Print VBA.IsEmpty(Range("a1")) '假空时返回FALSEDebug.Print VBA.TypeName(Range("a1").Value) '返回Empty表示为空
End Sub---------------------------------------------------------------------------Sub 速度测试()Dim tDim x As Longt = TimerFor x = 1 To 100000'If Range("a1") = "" Then '用时0.81' If Len(Range("a1")) = 0 Then '0.84' If VBA.IsEmpty(Range("a1")) Then '速度 0.79'If VBA.TypeName(Range("a1").Value) = Empty Then '0.84End IfNext xDebug.Print Timer - tEnd Sub

'2 检查是否为数字

   Sub s2()Debug.Print VBA.IsNumeric(Range("a1"))Debug.Print Application.WorksheetFunction.IsNumber(Range("A1"))Debug.Print VBA.TypeName(Range("A1").Value)' Debug.Print Range("a1").Value Like "#" '判断一位整数' Debug.Print Range("a1") Like "*#*" '判断是否包含数字End Sub-------------------------------------------------
Sub 速度测试2()Dim tDim x As Longt = TimerFor x = 1 To 100000'If VBA.IsNumeric(Range("a1")) Then '用时0 0.79'If Application.WorksheetFunction.IsNumber(Range("A1")) Then '0.9218'If VBA.TypeName(Range("A1").Value) = "Double" Then '速度 0.84End IfNext xDebug.Print Timer - tEnd Sub

'3 检查是否为文本

Sub t3()Debug.Print Application.IsText(Range("a1"))Debug.Print "B" Like "[A-Za-z]" '判断是否为字母Debug.Print Len(Range("a1"))Debug.Print Range("a1") Like "*[一-龥]*" '判断字符串中是否包含汉字End Sub

'4 判断结果是否为错误值

Sub s4()Debug.Print VBA.IsError(Range("a1"))Debug.Print TypeName(Range("a1").Value)
End Sub

'5 判断是否为数组

 Sub s5()Dim arrarr = Range("A1:A2")Erase arrDebug.Print VBA.IsArray(arr)End Sub

'6 判断是否为日期

Sub s6()Debug.Print VBA.IsDate(Range("a2"))
End Sub

数据类型转换
'一、类型转换函数:CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CSng, CStr, CVar

'上述函数是把表达式转换成相对应的数字类型,比如clng转换成长整型,cstr转换成文本型

Sub ss1()Dim s As Integers = 2334MsgBox 截取(CStr(s)) '因为自定义函数参数要求是文本类型,而s是数值类型,所以需要用cstr转换成文本类型
End Sub
---------------------------------------------------------
Function 截取(x As String)截取 = Left(x, 2)
End Function
-----------------------------------------------
Sub ss2()Debug.Print 1 + True 'CInt(1 = 1)
End Sub
--------------------------------------------

'二、Format函数

  'format函数用法等同于工作表中的text函数,可以格式化显示数字或文本Sub ss3()Dim n, n1n = 234.3372n1 = 41105Debug.Print Format(n, "0.00")Debug.Print Format(n, "0")Debug.Print Format(n, "\价格\:0.00")Debug.Print Format(n1, "yyyy-mm-dd")End Sub

VBA基础知识整理(数据类型)相关推荐

  1. VBA基础知识整理(字典,自定义函数)

    字典 基本概念 '1 什么是VBA字典?'字典(dictionary)是一个储存数据的小仓库.共有两列.'第一列叫key , 不允许有重复的元素.'第二列是item,每一个key对应一个item,本列 ...

  2. VBA基础知识整理(文本文件操作)

    txt文件的读写 'Open 文件名 for 打开方式 as 文件编号'打开方式:'Input :只能读,不能写'Append:允许读也允许写,如果存在文件就追加记录,如果没有就新建文件'Output ...

  3. VBA基础知识整理(日期,时间)

    日期和时间计算 '1 计算两个日期相隔天数,月数,年数,小时,分种,秒 Sub tt1()Dim d1, d2 As Dated1 = #11/21/2011#d2 = #12/1/2011#Debu ...

  4. VBA基础知识整理(文件操作)

    文件操作 '1 判断A.Xls文件是否存在 Sub W1()If Len(Dir("d:/A.xls")) = 0 ThenMsgBox "A文件不存在"Els ...

  5. VBA基础知识整理(图象图表)

    shape对象的类型和属性 'Shapes 对象, '该对象代表工作表或图形工作表上的所有图形,它是sheets和chart的子对象(属性) Sub t2()On Error Resume NextD ...

  6. python常用变量名_python基础知识整理

    Python Python开发 Python语言 python基础知识整理 序言:本文简单介绍python基础知识的一些重要知识点,用于总结复习,每个知识点的具体用法会在后面的博客中一一补充程序: 一 ...

  7. 第一章、Excel VBA基础知识

    01-01.Excel VBA简介 1.VBA是什么,能干什么 VBA可以说是一种编程语言,是VB的分支 VBA的作用,可以将重复的Excel工作简单化 2.VBA具备的基础知识 2.1基础操作,能发 ...

  8. 计算机二级c语基础知识,计算机二级C语基础知识整理.doc

    计算机二级C语基础知识整理 1.1 算法 算法:是一组有穷指令集,是解题方案的准确而完整的描述.通俗地说,算法就是计算机解题的过程.算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计. ...

  9. 使用Aspose.Cells的基础知识整理

    使用Aspose.Cells的基础知识整理 转自 http://www.cnblogs.com/kenblove/archive/2009/01/07/1371104.html 这两天用Aspose. ...

最新文章

  1. 中国生物燃料市场产能预测与十四五战略前景展望报告2022年
  2. error 4 in libc-2.12.so 解决办法
  3. Windows 10——安装Snort_2_9_16
  4. LeetCode 297. 二叉树的序列化与反序列化(前序遍历层序遍历)
  5. Qt笔记-AES加密
  6. springboot整合redis,推荐整合和使用案例(2021版)
  7. 如何动态设置控件的宽高度?
  8. c语言处理机调度实验报告,操作系统实验处理机调度C语言实现.docx
  9. 大数据系统架构的通用模块有哪些
  10. 【语义分割】Pyramid Scene Parsing Network(PSNET)
  11. Unity属性(Attributes)
  12. 如何将两张图片合成一张图片
  13. 玉蟾宫【洛谷P4147】
  14. windows cmd 添加路由命令
  15. Pytorch 深度强化学习模型训练速度慢
  16. 二战时图灵机破译的Enigma密码,现在AI仅需13分钟便可破译
  17. 蓝桥杯陶陶摘苹果C语言,Java实现 蓝桥杯VIP 算法提高 陶陶摘苹果2
  18. 作为程序员面试官的3点建议
  19. 算法基础--梯度消失的原因
  20. 职称计算机加分,软著评职称的加分规则

热门文章

  1. 使用uniapp开发, 引入腾讯位置服务
  2. Airflow的安装:在线安装、离线安装、问题汇总
  3. 基于spi接口的oled屏Android服务框架
  4. 3.10 docker---概念介绍,安装和初识docker,docker的一些基本命令,使用docker部署一个nginx,
  5. UWP开发细节记录:WRL::ComPtr 的坑
  6. 百度地图系列02——地图移动到指定点
  7. linux shell正则表达式如何匹配域名(包含中文域名)
  8. 2018山东计算机录取分数,【分数线】2018山东省公费师范生分数线汇总
  9. Electron打包(windows平台)
  10. DSPF28335 SCI FIFO串口通讯