精华内容
下载资源
问答
  • vba数据类型符号

    千次阅读 2018-08-11 10:46:00
    为什么80%的码农都做不了架构师?>>> ...
    • Integer %
    • Long &
    • Single !
    • Double #
    • String $
    • Currency @

    转载于:https://my.oschina.net/xfan/blog/1926137

    展开全文
  • Boolean 数据类型 Boolean 变量存储为 16 位(2 个字节)的数值形式,但只能是 True 或是 False。Boolean 变量的值显示为 True 或 False(在使用 Print 的时候),或者 #TRUE# 或 #FALSE#(在使用 Write # 的时候)...

    Boolean 数据类型

    Boolean 变量存储为 16 位(2 个字节)的数值形式,但只能是 True 或是 FalseBoolean 变量的值显示为 True False(在使用 Print 的时候),或者 #TRUE##FALSE#(在使用 Write # 的时候)。使用关键字 TrueFalse 可将 Boolean 变量赋值为这两个状态中的一个。

    当转换其他的数值类型为 Boolean 值时,0 会转成 False,而其他的值则变成 True。当转换 Boolean 值为其他的数据类型时,False 成为 0,而 True 成为 -1。

    Byte 数据类型

    Byte 变量存储为单精度型、无符号整型、8 位(1个字节)的数值形式,范围在 0 至 255 之间。

    Byte 数据类型在存储二进制数据时很有用。

    Currency 数据类型

    Currency 变量存储为 64 位(8 个字节)整型的数值形式,然后除以 10,000 给出一个定点数,其小数点左边有 15 位数字,右边有 4 位数字。这种表示法的范围可以从 -922,337,203,685,477.5808 到 922,337,203,685,477.5807。Currency 的类型声明字符为at号 (@)。

    Currency 数据类型在货币计算与定点计算中很有用,在这种场合精度特别重要。

    Date 数据类型

    Date 变量存储为 IEEE 64 位(8 个字节)浮点数值形式,其可以表示的日期范围从 100 年 1 月 1 日到 9999 年 12 月 31 日,而时间可以从 0:00:00 到 23:59:59。任何可辨认的文本日期都可以赋值给 Date 变量。日期文字须以数字符号 (#) 扩起来,例如,#January 1, 1993##1 Jan 93#

    Date 变量会根据计算机中的短日期格式来显示。时间则根据计算机的时间格式(12 或 24 小时制)来显示。

    当其他的数值类型要转换为 Date 型时,小数点左边的值表示日期信息,而小数点右边的值则表示时间。午夜为 0 而中午为 0.5。负整数表示 1899 年 12 月 30 日之前的日期。

    Decimal 数据类型

    Decimal 变量存储为 96 位(12 个字节)带符号的整型形式,并除以一个 10 的幂数。这个变比因子决定了小数点右面的数字位数,其范围从 0 到 28。变比因子为 0(没有小数位)的情形下,最大的可能值为 +/-79,228,162,514,264,337,593,543,950,335。而在有 28 个小数位的情况下,最大值为 +/-7.9228162514264337593543950335,而最小的非零值为 +/-0.0000000000000000000000000001。

    注意 此时,Decimal 数据类型只能在 Variant中使用,也就是说,不能声明一变量为 Decimal 的类型。不过可用 Cdec 函数,创建一个子类型为 Decimal Variant

    Double 数据类型

    Double(双精度浮点型)变量存储为 IEEE 64 位(8 个字节)浮点数值的形式,它的范围在负数的时候是从 -1.79769313486231E308 到 -4.94065645841247E-324,而正数的时候是从 4.94065645841247E-324 到 1.79769313486232E308。Double 的类型声明字符是数字符号 (#)。

    Integer 数据类型

    Integer 变量存储为 16位(2 个字节)的数值形式,其范围为 -32,768 到 32,767 之间。Integer 的类型声明字符是百分比符号 (%)。

    也可以用 Integer 变量来表示枚举值。枚举值可包含一个有限集合,该集合包含的元素都是唯一的整数,每一个整数都在它使用时的上下文当中有其特殊意义。枚举值为在已知数量的选项中做出选择提供了一种方便的方法,例如,black = 0,white = 1 等等。较好的编程作法是使用 Const 语句将每个枚举值定义成常数。

    Long 数据类型

    Long(长整型)变量存储为 32 位(4 个字节)有符号的数值形式,其范围从 -2,147,483,648 到 2,147,483,647。Long 的类型声明字符为和号 (&)。

    LongLong 数据类型

    LongLongLongLong 整型)变量的存储形式为有符号的 64 位(8 字节)数,其值的范围为 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。LongLong 的类型声明字符为脱字符 (^)。LongLong 只是 64 位平台上的有效声明类型。

    LongPtr 数据类型

    LongPtr(32 位系统上为 Long 整型,64 位系统上为 LongLong 整型)变量在不同系统上存储形式不同:在 32 位系统上,为有符号的 32 位(4 字节)数,其值的范围为 -2,147,483,648 到 2,147,483,647;在 64 位系统上,为有符号的 64 位(8 字节)数,其值的范围为 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。

    注意LongPtr 不是一个真实的数据类型,因为在 32 位环境中,它转变为 Long;在 64 位环境中,它转变为 LongLong。使用 LongPtr 可以编写能同时在 32 位和 64 位环境中运行的可移植代码。LongPtr 用于指针和句柄。

    Object 数据类型

    Object 变量存储为 32 位(4 个字节)的地址形式,其为对象的引用。利用 Set 语句,声明为 Object 的变量可以赋值为任何对象的引用。

    注意 虽然以 Object 类型声明的变量足以适应包含对各种对象的引用,但是绑定到变量引用的对象总是在晚期(运行时)绑定。要强迫在早期(编译时间)绑定的话,须将对象的引用赋值给用特定类名称声明的变量。

    Single 数据类型

    Single(单精度浮点型)变量存储为 IEEE 32 位(4 个字节)浮点数值的形式,它的范围在负数的时候是从 -3.402823E38 到 -1.401298E-45,而在正数的时候是从 1.401298E-45 到 3.402823E38。Single 的类型声明字符为感叹号 (!)。

    String 数据类型

    字符串有两种:变长与定长的字符串。

    • 变长字符串最多可包含大约 20 亿 ( 2^31)个字符。
    • 定长字符串可包含 1 到大约 64K ( 2^16 ) 个字符。

    注意 Public 定长字符串不能在类模块中使用。

    String 之字符码的范围是 0 到 255。字符集的前 128 个字符(0 到 127)对应于标准的 U.S. 键盘上的字符与符号。这前 128 个字符与 ASCII 字符集中所定义的相同。后 128 个字符(128 到 255)则代表特殊字符,例如国际字符,重音符号,货币符号及分数。String 的类型声明字符为美元号 ($)。

    VBA中字符串用双引号包含,如“A”.

    用户定义数据类型

    可以是任何用 Type 语句定义的数据类型。用户自定义类型可包含一个或多个某种数据类型的数据元素、数组或一个先前定义的用户自定义类型。例如:

    Type MyType
        MyName As String    '定义字符串变量存储一个名字。
        MyBirthDate As Date    '定义日期变量存储一个生日。
        MySex As Integer    '定义整型变量存储性别
    End Type                '(0 为女,1 为男)

    Variant 数据类型

    Variant 数据类型是所有没被显式声明(用如 DimPrivate、PublicStatic等语句)为其他类型变量的数据类型。Variant 数据类型并没有类型声明字符。

    Variant 是一种特殊的数据类型,除了定长 String 数据及用户定义类型外,可以包含任何种类的数据。Variant 也可以包含 Empty、ErrorNothing 及 Null等特殊值。可以用 VarType 函数或 TypeName 函数来决定如何处理 Variant 中的数据。

    数值数据可以是任何整型或实型数,负数时范围从
    -1.797693134862315E308 到 -4.94066E-324,正数时则从 4.94066E-324 到 1.797693134862315E308。通常,数值 Variant 数据保持为其 Variant 中原来的数据类型。例如,如果把一个 Integer赋值给 Variant,则接下来的运算会把此 Variant 当成 Integer 来处理。然而,如果算术运数针对含 Byte、Integer、Long 或 Single 之一的Variant 执行,并当结果超过原来数据类型的正常范围时,则在 Variant 中的结果会提升到较大的数据类型。如 Byte 则提升到 IntegerInteger 则提升到 Long,而 LongSingle 则提升为 Double。当 Variant 变量中有 Currency、Decimal 及 Double 值超过它们各自的范围时,会发生错误。

    可以用 Variant 数据类型来替换任何数据类型,这样会更有适应性。如果 Variant 变量的内容是数字,它可以用字符串来表示数字或是用它实际的值来表示,这将由上下文来决定,例如:

    Dim MyVar As Variant
    MyVar = 98052
    

    在前面的例子中,MyVar 内有一实际值为 98052 的数值。像期望的那样,算术运算子可以对 Variant 变量运算,其中包含数值或能被解释为数值的字符串数据。如果用 + 运算子来将 MyVar 与其他含有数字的 Variant 或数值类型的变量相加,结果便是一算术和。

    Empty 值用来标记尚未初始化(给定初始值)的 Variant 变量。内含 Empty Variant 在数值的上下文中表示 0,如果是用在字符串的上下文中则表示零长度的字符串 ("")。

    不应将 Empty 与 Null 弄混。Null 是表示 Variant 变量确实含有一个无效数据。

    Variant 中,Error 是用来指示在过程中出现错误时的特殊值。然而,不像对其他种类的错误那样,程序并不产生普通的应用程序级的错误处理。这可以让程序员,或应用程序本身,根据此错误值采取另外的行动。可以用 CVErr 函数将实数转换为错误值来产生 Error 值。

    source:VBA Help

    展开全文
  • VBA基础知识整理(数据类型

    千次阅读 2019-05-13 19:52:35
    '在VBA中的数据类型有整数、文本、对象等类型。这些不同的类型有着特定的作用,在进行运算时也会占用 '不同大小的内存,所以我们在编写程序时为了提高运行效率,一般都要定义数据的类型。 '2 数据类型对程序运行的...

    '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 Long
          Dim t
          'Dim k1 As Byte     '用时0.03125s
          Dim k
          'Dim k1 As Integer '用时0.15625s
          Dim k1 As String   '用时0.203125s
          k = 1
          t = Timer
          For x = 1 To 1000000
            k1 = k
          Next x
          Debug.Print Timer - t
        End Sub
    

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

    Sub s1()
         Debug.Print Range("a1") = "" '判断真空,无法判断假空
         Debug.Print Len(Range("a1")) = 0 '判断真空,无法判断假空
         Debug.Print VBA.IsEmpty(Range("a1")) '假空时返回FALSE
         Debug.Print VBA.TypeName(Range("a1").Value) '返回Empty表示为空
    End Sub
       ---------------------------------------------------------------------------
    
     Sub 速度测试()
         Dim t
         Dim x As Long
         t = Timer
         
         For 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.84
           End If
         Next x
         
       Debug.Print Timer - t
       End 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 t
    	     Dim x As Long
    	     t = Timer
    	     
    	     For 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.84
    	       End If
    	     Next x
    	     
    	   Debug.Print Timer - t
     End 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 arr
         arr = Range("A1:A2")
         Erase arr
         Debug.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 Integer
         s = 2334
         MsgBox 截取(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, n1
          n = 234.3372
          n1 = 41105
          Debug.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
    
    展开全文
  • 类型 Byte Boolean single! currency@ Double# date ## integer% long & decimal String [*10] $ Object null is noting Variant 算数运算符 (...

    Base

    类型

    Byte  Boolean

    single!  currency@  Double#  date ##  integer%  long &  decimal

    String [*10] $

    Object  null is noting

    Variant

    算数运算符

    (  )

    ^  -

    *  /  \  Mod  +  -  &(+)

    =  <>  <  <=  >  >=  Like (? [A-Z] [!A-Z] 数值# 贪婪*) is 同一对象

    And  Or  Not  Xor同假异真  Eqv同真异假  Imp 先真后假才为真

     

     

     

    展开全文
  • Excel VBA String 数据类型

    千次阅读 2020-02-11 13:45:55
    Excel VBA String 数据类型 字符串有两种类型:可变长度字符串和固定长度字符串。 可变长度字符串最多可以包含大约 20 亿 (2^31) 个字符。 固定长度的字符串可以包含1到大约 64 K (2 ^ 16) 个字符。 ' 使用两个双...
  • VBA-常见的数据类型

    千次阅读 2018-11-08 14:23:51
    VBA中的常见数据类型 类型 注释 简写 占用内存 Integer 整型 % 2Byte Single 单精度 ! 4Byet Double 双精度 # 8Byet Long 长整型 &amp; 4Byet String ...
  • VBA中的数据类型转换

    千次阅读 2020-11-24 23:47:38
    VBA中的数据类型转换  在VBE中打开对象浏览器,按照下图操作: 找到VBA库并输入Conversion(转换)找到该模块,里面提供了数据转换函数。  VBA提供了两套内置的数据类型转换函数,第一组包含Int、 CVDate和Str,这是...
  • vba自定义类型返回函数vba自定义类型返回函数vba自定义类型返回函数
  •  vba是编程语言,宏是用vba代码保存下来的程序。录制的宏是vba里最简单的程序,正因为如此,录制宏存在许多缺陷:如无法进行判断和循环,不能显示用户窗体,不能进行人机交互……  解决录制宏的这些问题,需要...
  • 每天一篇Excel技术图文微信公众号:Excel星球NO.79-什么是数据类型?作者:看见星光微博:EXCELers / 知识星球:Excel嗨,大家好,我是星光,今天咱们来继续学习VBA编程。在零基础学Excel的入门教程里咱们讲过,...
  • 本文介绍了利用 Excel 中的 Power Query 与 VBA 实现 CSV 格式数据清洗的关键步骤思路,对实操过程中的性能提升等具体问题给出了解决办法,最后对此类问题给出了通用的注意事项,具备一定的指导性。
  • 每天一篇Excel技术图文微信公众号:Excel星球NO.79-什么是数据类型?作者:看见星光微博:EXCELers / 知识星球:Excel嗨,大家好,我是星光,今天咱们来继续学习VBA编程。在零基础学Excel的入门教程里咱们讲过,...
  • 比如拼写错误,符号错误,格式错误等等 ,一般是比较低级的错误 运行前,编译时就会报错的 因为代码运行前,编辑器会先检查语法错误 VBA里的编译错误,就是写在VBE里,还没运行就报错的那类错误 1.2 运行错误...
  • excel vba 数据分析

    千次阅读 2019-01-20 12:20:00
    VBA(Visual Basic for Application)是Microsoft Office系列软件的内置编程语言,其语法结构与Visual Basic编程语言互相兼容,采用的是面向对象的编程机制和可视化的编程环境。 第一节 标识符 一.定义 标识符是一...
  • 利用VBA开发数据汇总工具通常在日常工作中总会用到Excel并且经常会遇到Excel将多个表格进行汇总。经过工作中的实践,发现用VBA开发具有一定重复性的功能,能够极大提高工作效率。最近,将本人曾开发的的Excel数据...
  • 类型及记忆方法: !——单精度浮点数1个感叹号,所以是单精度。 #——双精度浮点数二横二竖,所以是双精度。 $——字符串型 外形像极了S,所以是String,文字型么 &——长整型 外形像L的花体字,所以是Long,长...
  • 相关知识点 a& =a as long 4字节 (-2147483648~+2147483647),&作为连接符加空格 a%= a as integer 2字节(-32768~+32767) ...a@ =a as currency 8字节 货币类型 ±900万亿 精确四位小...
  • Sql中的数据类型及区别

    千次阅读 2018-08-09 20:51:26
    1,char,nchar,nvarchar,varchar有什么区别?...3,关于带big和带small的类型,比如:smallint,int和bigint;以及smalldatetime,datetime和bigdatetime有什么区别?  ========================================...
  • 一、需求市场调查的目的是为管理和决策部门提供准确的、可靠的、有效的当前信息,有时是为了制定长远性的战略性规划,有时是为制定某阶段或针对某问题的具体政策或策略提供... 本示例通过设计问卷调查回收统计系统...
  • VBA通用ADO数据访问模型

    千次阅读 2019-04-16 16:11:36
    ADO是基于OLE DB的数据访问技术。它不直接与数据交互,而是把这个任务交给了...由于ADO是基于COM实现的,所以基本上任何语言都可以使用这种数据访问技术,VBA也不例外。 一、ADO对象模型 ADO对象库中主要有9个对象...
  • 数据类型, 支持 通配符 (正则表达式,?*- ),从而实现 模糊查找 。(25 ),(” 熊猫” ),(#3/18/2019# ) 例1 找出“ 熊猫” 单元格( 基础方法) Sub findnum()  Dim i&,j&,d as date  d=time...
  • vba常用函数详细介绍示例

    千次阅读 2020-07-17 10:53:08
    返回将传递给指定数字的绝对值的相同类型的值。 语法 Abs(数字) 必需的_number_ 参数可以是任何有效的数值表达式。 如果 number 包含 Null,则返回 Null;如果它是未初始化的变量,则返回 0。 数字的绝对值是其...
  • VBA中的标识符,常量和变量

    千次阅读 2018-06-07 23:33:52
    标识符: 在程序运行的过程中,通常需要将计算结果保存下来,在后面使用,程序中使用的数据都保存在计算机...2、长度不能超过255个字符3、不能使用VBA的关键字4、同一个过程内不能使用重复的名称常量: 在程序运行...
  • 1.变量:是一个简单的用来引用一条数据的名称。 2.命名规则: 变量名称不可以以数字开始,也不可以含有空格 如果变量中存在多个词语,可用下划线连接 在VBA中有一些有特殊意义的语句,不可以用作变量名称,如...
  • Python数据类型之间的转换 函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 ...
  • EXCEL随机数据 使用 单元格表达式 以及 Excel VBA 快速生成随机数据。使用单元格表达式(函数)在指定范围产生随机整数、小数、大小写英文字符、字符串、随机日期和随机时间,并设定输出的时间格式和日期格式。产生...
  •  有符号数的转换中,如果从较低类型转换到较高类型,将进行符号扩展,例如一个值从short int(16位)转换到long类型,如果这个数是正数,则最高位为0,从16位扩展到32位时,扩展的高16位用0填充,即将符号位0进行...
  • VBA 格式化数据

    千次阅读 2014-07-02 17:13:45
    VBA 的 Format 函数与工作表函数 TEXT 用法基本相同,但功能更加强大,许多格式只能用于VBA 的 Format 函数,而不能用于工作表函数 TEXT ,以下是本人归纳的几点用法,希望对学习VBA有所裨益。 Format(值,格式...
  • VBA语法-基础语法

    千次阅读 2016-11-22 21:00:14
    VBA语法 1. 基础语法 2. 控制结构 3. 数组 4. 过程 5. 模块 6. 处理字符串和日期 基础语法 4.2所有代码都在宏内如下: Sub 宏名称()'说明 … End sub 单引号为注释 字符: a-z,A-Z,0-9,...
  • 文字按插入点自动对齐提供了对自定义数据类型的数组进行排序的一个思路;提取多行文字中的文字内容对AutoCAD中多行文字的格式代码进行了分析。使用ObjectDBX实现的批量文字替换,与上一个版本比较起来,修正了一些...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,888
精华内容 755
关键字:

vba基本数据类型及符号