精华内容
下载资源
问答
  • VBA变量类型定义的作用在于:(1)规范性(2)大型代码调试时系统会提示哪个没有定义,便于识别写错的变量名(3)增强代码效率,定义变量类型有助于减少内存使用Dim a As IntegerDim b As LongDim c As String上面...

    7ff844efe26aaafae2e13cd86fa77abf.png

    VBA变量类型定义的作用在于:

    (1)规范性

    (2)大型代码调试时系统会提示哪个没有定义,便于识别写错的变量名

    (3)增强代码效率,定义好变量类型有助于减少内存使用

    Dim a As Integer

    Dim b As Long

    Dim c As String

    上面的变量定义代码,在刚开始学习和使用过程中常常简单,但是百度到一些别人的代码的时候,会看到&@#$这些符号,不知道是什么意思,其实这是简写,所以上面的代码可以写成:

    Dim a%, b&, c$

    如果不是天天写这些缩写,可能过一段时间就会忘记,下面说下简单对应的方法便于大家记忆?

    根据使用频率,下面是常用的6种变量定义以及 其缩写:

    1,$ = String 文本

    美元符号和String第1个字母是 S很像, 所以请记住,美元s=String 【文本字符串】。

    2,& = Long 长整型 范围几乎是你见到的所有整数

    &可以看做是Long首字母L的花体字 所以请记住为【长整型数值】。

    3,% = Integer 短整型 范围是-32678-32678

    %是百分比符号,我们可以把它联想为较少的整数【整型数值】。

    4,! = Single 单精度小数

    !笔画只是1竖单笔画,这里不要和美元符号记混,所以请记住为【单精度】。

    5,# = Double 双精度小数

    # 笔画是2横2竖,所以请记住为【双精度】

    6,@ = Currency 货币型4位小数

    现实中人们也常用@符号代表价格、单价,所以请记住为【货币型小数】

    这样记忆是不是简单多了呢?其实整型里面的integer范围有限,现在的表格容纳量变大,所以对应整型建议大家统一用long,对于常规的代码来说没什么问题,因为内存容量够用了,效率也几乎可以忽视。

    展开全文
  • VBA变量类型没有进行严格的管控,无论哪种情况,定义的类型和实际使用中赋值类型并没有什么关系,也就是说定义为integer的变量相同赋值字符串。反之也然。 这种结果往往会在程序中产生歧义,导致错误...

    作者:iamlaosong

        VBA中变量能够先定义后使用,也能够不定义直接使用。假设模块前面加了Option Explicit语句,则变量必须先定义后使用。

    只是。实验发现。VBA对变量类型没有进行严格的管控,无论哪种情况,定义的类型和实际使用中赋值类型并没有什么关系,也就是说定义为integer的变量相同赋值字符串。反之也然。

    这种结果往往会在程序中产生歧义,导致错误的执行结果。

    比如以下的语句:

        Dim  Scan(3000), BarCode As String

        。。。

        BarCode = Cells(row2, 5)

        If Scan(row1) = BarCode Then

        。

    。。

    这时BarCode保存值的类型由单元格的类型决定。特别是单元格的内容为数字时,BarCode保存值的可能是字符,也可能是数字。这非常easy混淆,当你用BarCode和其他变量比較时,假设类型不正确,即便数字同样,也会不等,所以编程中要特别注意,对这样的可能引起混淆的情况,要强制进行转换。防止出错。即:

        BarCode = CStr(Cells(2, 5))


    转载于:https://www.cnblogs.com/blfshiye/p/5250112.html

    展开全文
  • sub 宏名称() dim id%,name as string,haoma as string*18,money# end sub 变量明细 ...使用缩写的时候,直接在名名列后跟即可,无缩写,则 as 变量类型;const 用法,给列定义类型及赋值,使用双引号

    sub 宏名称()
    dim id%,name as string,haoma as string*18,money#
    const danwei as string=“danwei”
    end sub
    在这里插入图片描述

    变量明细
    在这里插入图片描述
    使用缩写的时候,直接在名名列后跟即可,无缩写,则 as 变量类型;const 用法,给列定义类型及赋值,使用双引号

    展开全文
  • VBA中,可以通过Dim语句定义变量,在程序运行的过程中,定义的变量可以随时赋值或读取。 目录 步骤1 步骤2 步骤3 步骤4 说明 声明变量 变量名的命名规则 VBA的数据类型 数据类型的分类及表示方式 (1)...

        在VBA中,可以通过Dim语句定义变量,在程序运行的过程中,定义的变量可以随时赋值或读取。

    目录

    步骤1

    步骤2

    步骤3

    步骤4

    说明

    声明变量

    变量名的命名规则

    VBA的数据类型

    数据类型的分类及表示方式

    (1)数值型

    (2)字符型

    (3)日期型

    (4)逻辑型

    (5)对象

    变量的赋值

    变量的读取

    定长字符串与变长字符串

    隐式声明


    步骤1

        按组合键【Alt+F11】打开VBE。

    步骤2

        选择菜单“插入”——“模块”,并输入以下代码。

    '本程序用于演示变量声明、赋值、读取
    
    Sub 变量声明()
        '变量声明
        Dim strA As String
        Dim strB As String
        Dim strc As String
        
        '变量赋值
        strA = "Excel 技巧"
        strB = "Exceltip.net"
        
        '立即窗口中显示strA和strB
        Debug.Print strA
        Debug.Print strB
        Debug.Print "--------------"
        
        '交换strA和strB的值
        strc = strA
        strA = strB
        strB = strc
        
        '立即窗口中显示strA和strB
        Debug.Print strA
        Debug.Print strB
    
    End Sub
    
    

    步骤3

    将光标定位至代码任何一处,按【F5】键运行程序。

    步骤4

    按组合键【CtrI+G】打开立即窗口,运行结果显示如图所示。

    说明

        所谓变量,顾名思义,就是可以变化的量。变量在VBA中是程序为存放某个临时的值而开辟的内存空间,开发者可以指定一个变量名来命名该内存空间。通过变量名,开发者可以重复访问该内存空间,用以存放数据或者读取数据。

    声明变量

        在VBA程序中,变量是必不可少的一个元素。变量在使用前应先声明,以说明变量名、变量类型等。变量声明的一般语法如下:
                          Dim varname  [As type]

    变量名的命名规则

        参数varname为变量名。变量名由数字、字母、字符、中文组成,遵循以下规则:

    • 第一个字符必须使用英文字母或中文。
    • 不能在名称中使用空格、句点(.)、感叹号(!)或@、&、$和#等字符。
    • 名称的长度不可以超过255个字符。
    • 变量名不能与Visual Basic本身的过程、语句以及方法的名称相同。
    • 不能在相同范围、相同层次中使用重复的名称。

    VBA的数据类型

        参数type是可省略的,可以定义变量的数据类型。在Dim语法中可以发现,[As type]在两边加了方括号,即表示这是可以省略的参数或关键字。
        利用As type关键字可以指定变量的类型,在VBA中,常用的数据类型如表所示。

        数据类型

        存储空间大小

        范围

    类型标识符

    Byte

     1字节

      整数,取值为0到255

     

    Boolean

     2字节

      逻辑值,取值为True(-1)或False(0)

     

    Integer(整型)

     2字节

      整数,取值为-32 768到32 767

    %

    Long(长整型)

     4字节

      整数,取值为-2147 483 648到2 147 483 647

     

     LongLong

     8字节

      整数,取值为-9 223 372 036 854 775 808到9223 372 036 854 775 807(只在64位平台上有效)

     

    LongPtr

     在32位系统上为4字节,在64位系统上为8字节

      在32位系统上为Long;在64位系统上为LongLong

    ^

    Single(单精度浮点型)

      4字节

      小数

    负数时从-3.402823E38到-1.401298E-45,

    正数时从1.401298E-45到3.402823E38

     Double(双精度浮点型)

      8字节

     小数,

    负数时从:-1.797693J 3486231E308到- 4.940656458 41247E-324;

    正数时从:4.94065645841247E-324到179769313486232E308

    #

    Currency(C变比整型)

     

      8字节

      整数

      从-922 337 203 685 477.5808到922 337 203 685 477.5807

    @

    Date

      8字节

      日期类型

      100年1月1日到9999年12月31日

     

    String(变长)

      10字节加字符串长度(变长)

      文本数据,最长为20亿个字符

    $

    String(定长)

      字符串长度(定长)

      文本数据,最长为65 400个字符

    $

     Variant

     

      除了定长String数据及用户定义类型外,可以包含任何种类的数据

     

    Object

      4字节

      任何对象引用

     

    对于高质量的VBA程序,每个在程序中使用的变量均应进行数据类型声明。如

    Dim intA    As Integer

        以上语句声明了一个整数类型的变量intA。对于熟练的开发者,也可以采用变量标识符来声明变量类型,省略As Integer,从而节省代码编写时间。以下语句的作用是声明整型变量。
    Dim intA%
        在整个VBA程序运行的过程中,该变量的数据类型不能进行更改,即intA只能存放整数类型的数据,一旦存放其他类型的程序,可能造成程序的错误,如图所示。

    数据类型的分类及表示方式

    尽管数据类型有很多,但是在VBA中的数据类型实质上可分为以下5大类。

    (1)数值型

        数值型的数据即为数字,包括Byte. Integer、Long、Single. Double等。
        数字可以在VBA中直接表示,比如:1、2.3。也可以采用科学计数法,比如:1E+203。还可以表示为十六进制数,在表示十六进制数的时候,必须在数字前加上&H,比如:&H12。
        尽管上述类型都是数值型的变量,但是由于范围的不同,因而不能通用。比如,Byte类型的数据范围是0~255,一旦赋值超过该范围,就会发生错误,如图所示。

    (2)字符型

        字符型的数据类型为String,可以存放任何文本。文本数据在VBA代码中表示时必须包含在一对半角的双引号(”)内,如:”Excel”、”VBA”。

    (3)日期型

        日期型数据为Date,可以是任何日期或时间。VBA中日期范围为100年1月1日到9999年12月31日。在VBA代码中表示日期型数据时必须包含在井字号(#)内,比如:#2013-1-1#、
    #9:00#和#2013-1-19:00#.

    (4)逻辑型

        逻辑型的数据为Boolean,其值为True或者False。在VBA中的True值也可以用数字-1替代,False值用0替代。

    (5)对象

    对象是一种特殊的数据类型,可以表示工作簿、工作表、单元格等,如:Range(”A1”)。

    变量的赋值

        声明后的变量即可进行使用。开发者可以存储相同数据类型的变量,这一过程称为变量的赋值,变量赋值语句的语法为
    [ Let ]     varname=expression

    Set    varname=expression                                                                      
    参数varname为变量名,expression为所要给变量赋的值。
        Let语句是用以给除对象以外的变量进行赋值的,Let关键字可以省略。比如,给intA赋值10,可表示为
    Let intA= 10
    或者
    intA=10
    在给对象变量赋值时,必须使用Set关键字,如:
    Set  rngA  =  Range ( "A1" )
        变量可以进行重复赋值,变量的值是变量最后一次赋值语句所赋的值。比如,以下语句中,intA最终的值为20。
     intA=10
     intA=20

    变量的读取

        在对变量进行赋值完成之后,可以随时用变量名调用其存储的值。比如,intA赋值10之后,在VBA代码中出现的intA即为10。变量的值也可以赋值给另一个变量,比如:
    intB=intA
        需要注意的是,此处intA和intB是两个独立的变量,以上语句仅是将intA的值赋值给了intB。但是当intA的值发生变化时,intB不会发生变化。如以下语句执行完成之后,intA的值为20,intB的值为10。
    intA = 10
    intB = intA
    intA = 20

    VBA常量

        在VBA中,除了可以输入变量外,还可以声明常量。常量和变量的使用方法基本相同,但是常量在声明之时必须进行赋值,并且只能进行一次赋值。在运行过程中,常量的值不可更改。
    声明常量的语法如下:
    Const  constname  [As type]  =  expressi on
        参数constname为常量名,expression为常量的值。以下语句为给Integer类型的iCount常量赋值为20。
    Const iCount As Integer = 20
    需要注意的是,不能将变量的值赋值给常量,即常量的赋值只能是某个确定的值。
    以下语句将会导致编译错误:
    Const iCount As Integer = intA

    定长字符串与变长字符串

        String类型的变量可以分为定长和变长两种。声明定长字符串只需在变量类型String之后加上星号(*)和定长字符串的长度即可。如声明长度为6的定长字符串strC语句如下:
    Dim strC As String * 6
        变长字符串的长度随着赋值的字符长度变化为变化,而定长字符串始终是固定的。比如,strC赋值为”A”后,其实际值为”A”(A之后有5个空格)。

    隐式声明

        在VBA中,允许变量不经声明即可使用。此类变量默认类型为变体型(Variant),此类形式称为隐式声明。
     

     

    展开全文
  • VBA Double类型变量溢出

    2021-04-10 19:56:54
    将Result定义为Double类型,Num1 / Num2计算结果应为0.5,但运行代码报错Run-time error '6': Overflow。 版本信息:MacOS Catalina 10.15.7,Excel for Mac 16.47.1,VBA ...
  • EXCEL VBA 常量变量

    2011-11-11 14:56:13
    定义变量:dim 变量名 as 类型:模块级或过程级 类似privatepublic 变量名 as 类型:多个模块使用static 变量名 as 类型:静态变量,只有关闭工作薄后释放 手工释放变量 set a = nothi...
  • 首先欢迎众多的朋友来我这个平台,或是学习,或者提出问题,我都欢迎。为了更好的和大家交流,分享知识,我会不...这期专题共解答有三个问题:问题一 :如果程序中所有变量,都不事先定义,有什么不好?(VBA)问题二 ...
  • VBA研究】VBA数据类型定义与效果

    千次阅读 2015-08-07 11:55:27
    作者:iamlaosong 数据类型是对同一类数据的统称,如文本、日期、数值等。VBA里的数据类型有:字节... VBA对数据类型定义的管控并不强,比如定义成整数型的变量同样可以赋值字符串,但是如果不注意,就会导致逻辑错误。
  • VBA变量与常量

    2016-11-14 13:15:10
    变量与常量 1)VBA允许使用未定义的变量,默认是变体变量。 2)在模块通用说明部份,加入 Option Explicit 语句可以强迫用户进行变量定义。...Private 变量 as 类型 '定义为私有变量,如 Private xyz as byte
  • vba中数据类型

    2018-03-14 10:36:00
    VBA共有12种数据类型,具体见下表,此外用户还可以根据以下类型用Type自定义数据类型。 1)VBA允许使用未定义的变量,默认是变体变量。2)在模块通用说明部份,加入 Option Explicit 语句可以强迫用户进行变量...
  • VBA中的类型说明符

    2012-09-03 14:25:00
    VBA中,用关键字Dim定义变量时,定义语句格式为:Dim 变量名 [As 类型]如Dim Number As Single Dim K As Integer Dim Count As Integer,Address As Single Dim Number As Single,Count As Single其中,[As 类型]...
  • 学习资源:《Excel VBA从入门到进阶》第五讲 变量 by蓝色幻想一、什么是变量?...Dim X As Integer '定义x是一个变量,变量类型为Integer整数 For X = 1 To 10 Cells(X, 1) = X Next X End Sub二、小盒子里可以放...
  • 常量声明方法如下:Const 常量名称 As 数据类型 = 存储在常量中的数据 例如:Const PI As Single = 3.14 ' 定义一个浮点常量为PI,值为3.14变量声明方法如下:Dim 变量名 As 数据类型变量名,必须以字母或汉字开头,...
  • 输入数据:声明(定义)数据,赋初值---声明变量的数据类型,赋初值等就是第一部分,定义和输入数据! 处理数据 输出数据(返回结果) 1.2 常量和变量严格声明 默认是不强制声明 在模块的开头写上 opti...
  • 常量声明方法如下:Const 常量名称 As 数据类型 = 存储在常量中的数据 例如:Const PI As Single = 3.14 ' 定义一个浮点常量为PI,值为3.14变量声明方法如下:Dim 变量名 As 数据类型变量名,必须以字母或汉字开头,...
  •  指定开始索引:Public | Dim 数组名称(a To b) As 数据类型,a和b为整数(不能是变量),分别表示数组的开始和终止索引号,可保存数据个个数(b-a+1)个  未指定开始索引:Public | Dim数组名称(a) As 数据...
  • VBA-语法-变量和数组

    2019-08-20 10:31:19
    变量在使用之前必须定义 这样的好处就在于可以避免因为输入错误造成的变量错误 ========================================== 变量: Dim 变量名 As 数据类型 Dim sPara As sType Dim para1, para2, para3 Dim ...
  • 学习资源:《Excel VBA从入门到进阶》第五讲 变量 by蓝色幻想一、什么是变量?...Dim X As Integer '定义x是一个变量,变量类型为Integer整数 For X = 1 To 10 Cells(X, 1) = X Next X End Sub二、小盒子里可以放...
  • 关于是否在VBA程序开头声明变量类型,Excelhome论坛曾经有过很激烈的讨论。看过之后我也深有感触。■我比较支持“香川裙子”大神的观点:1、 初学者不必马上去学习定义变量的各种知识,直接写代码照样可以入门。2、 ...
  • 与其它的编程语言一样,VBA也有...定义数据类型的优点有2个:便于内存管理便于程序进行计算(数值型)和其它使用(非数值型)VBA中的基本数据类型有多种,但常用到的只有其中一半左右。0. 变量定义VBA中用Dim 变量...
  • 直接全部变量定义为 variant 也是可以的,效率差点而已 一、vba 数据类型 1、基本数据类型 整数类型:byte、integer、long、long long 小数类型:single、double 布尔类型:boolean 字符型:string 万能类型:...
  • 定义变量的时候可以同步定义变量的数据类型数据类型包括:整型integer,布尔Boolean,双精度浮点型Double,字符串String,变体型Variant等数据类型决定了变量在内存中的存储方式和占用空间,也会影响到程序运行速度,...
  • 与其它的编程语言一样,VBA也有它自己的数据类型。讲到数据类型,就离不开“变量”与“常量”这两个概念,变量与常量,都是用于保存数据的。顾名思义,“变量”是会变的,即它的值是可以改变的;而常量,则它的值...
  • VBA基础知识

    2019-11-12 14:18:36
    VB、VBA、Microsoft office、excel、access、PowerPoint1.VBA的基本概念2 数据类型2.1 VBA基本数据类型2.2 VBA自定义的数据类型3 VBA常量3.1 VBA系统定义常量3.2 VBA固有常量3.2 VBA符号常量4 变量4.1 声明4.1 赋值5...
  • vbavba语言基础

    2019-09-03 23:20:31
    (1)VBA允许使用未定义的变量,默认是变体变量 (2)在模块通用说明部分,加入Option Explicit语句可以强迫用户进行变量定义 (3)变量定义语句及变量作用域 一般变量作用域的原则是,那部分定义就在那部分起作用...
  • VBA基础

    2012-12-26 15:13:02
    一:变量与常量  1:VBA允许使用未定义的变量,默认是变体变量。  2:在模块通用说明部份,加入Option Explicit 语句可以强迫用户进行变量定义。... Private 变量名 as 类型 '定义为私有变量,如 Privat
  • Excel VBA编程笔记

    千次阅读 2008-02-25 16:34:00
    定义变量VBA定义变量需借助关键字并通过以下语句实现:Dim 变量名 As 变量类型变量名:由字母、数字和一些标点符号构成(不包括:,#$%&@!),但名称不能以数字开始,也不可以含有空格。当然,保留的关键字也是...
  • 不同类型变量可以组合起来用来创建用户定义类型(如熟知的 C 编程语言中的 structs)。当需要创建单个变量来记录多项相关的信息时,用户定义类型是十分有用的。 可以用 Type 语句创建用户定义类型,该...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 192
精华内容 76
关键字:

vba定义变量类型