博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【vba】vba语言基础
阅读量:2355 次
发布时间:2019-05-10

本文共 2051 字,大约阅读时间需要 6 分钟。

  • 数据类型
    在这里插入图片描述
  • 变量和作用域

(1)VBA允许使用未定义的变量,默认是变体变量

(2)在模块通用说明部分,加入Option Explicit语句可以强迫用户进行变量定义

(3)变量定义语句及变量作用域

在这里插入图片描述
一般变量作用域的原则是,那部分定义就在那部分起作用,模块中定义则在该模块那作用。

  • 数组

    • 数组必须用Global或Dim语句来定义:
    • 除了以上固定数组外,VBA 还有一种功能强大的动态数组,定义时无大小维数声明;在程序中再利用Redim语句来重新改变数组大小,原来数组内容可以通过加preserve关键字来保留。
      如下例:
      Dim array1() as double : Redim array1(5) : array1(3)=250 : Redim preserve array1(5,10)
  • 对对象的赋值采用:set myobject=object 或 myobject:=object

  • 以单引号或者Rem开头的行是注释。

  • 书写规范

    • (1)VBA不区分标识符的字母大小写,一律认为是小写字母;
    • (2)一行可以书写多条语句,各语句之间以冒号 : 分开;
    • (3)一条语句可以多行书写,以空格加下划线 _ 来标识下行为续行
  • 条件判断语句

    • If condition Then [statements][Else elsestatements]
    • If condition Then[statements][ElseIf condition-n Then[elseifstatements] ...[Else[elsestatements]]End If
    • Select Case  PidCase  “A101”Price=200Case  “A102”Price=300……Case ElsePrice=900End Case
    • Choose 函数???
    • Switch函数???
    • For counter = start To end [Step step]                  'step 缺省值为1[statements][Exit For][statements]Next [counter]
    • For Each element In  groupStatements[Exit for]StatementsNext  [element]
    • With object[statements]End With
    • Do {while |until} condition' while 为当型循环,until为直到型循环,顾名思义,不多说啦StatementsExit doStatementsLoop或者使用下面语法:Do                                    ' 先do 再判断,即不论如何先干一次再说StatementsExit doStatementsLoop {while |until} condition
  • 错误处理语句

二.错误语句处理执行阶段有时会有错误的情况发生,利用OnError语句来处理错误,启动一个错误的处理程序。语法如下:On Error Goto Line        ‘当错误发生时,会立刻转移到line行去On Error Resume Next    ‘当错误发生时,会立刻转移到发生错误的下一行去On Erro Goto 0             ‘当错误发生时,会立刻停止过程中任何错误处理过程
  • 过程和函数

    • VBA具有四种过程:Sub 过程、Function函数、Property属性过程和Event事件过程。
  • 两种传值方式ByVal和ByRef

  • 调用过程需要在被调用过程的前面加上call

  • 函数调用,调用方法不确定。

  • vab有大量内置函数

  • 添加控件时,同时按下alt会自动适应单元格大小。

  • F5快速运行过程或程序。

  • Dim array_name(n) As type (其中n是数组元素的个数)

    例如,如果要创建保存10个学生名字的数组,可以用以下语句:
    Dim s学生名字(9) As Integer
    注意,括号中的数字是9而不是10.这是因为在默认的情况下,第一个索引数字是0.

  • 动态数组

Dim dyn_array() As type对数组声明后可以在程序运行时用:ReDim语句指定数组的大小:ReDim dyn_array()(array_size)参数array_size代表数组的新大小。如果要保留数组的数值,请在ReDim语句后使用保留字Preserve,具体语法如下:ReDim Preserve dyn_array(array_size)
  • 设置权限

    • 通过控制excel某个工作表将要被激活的时候,进行相关的判断,拒绝其打开。
  • 提高vba程序运行效率的方法:

    • 尽量使用VBA原有的属性、方法和Worksheet函数
    • 尽量减少使用对象引用,尤其在循环中
    • 减少对象的激活和选择
    • 关闭屏幕更新
  • 可以写定时程序,目前用不到

转载地址:http://nzbtb.baihongyu.com/

你可能感兴趣的文章
linux 普通用户登录后,执行 shell脚本切自动输入密码切换到root
查看>>
CASE WHEN 及 SELECT CASE WHEN的用法
查看>>
11个实用但你可能不知道的Python程序库
查看>>
关于程序员的59条搞笑但却真实无比的编程语录
查看>>
使用Cython来保护Python代码库
查看>>
面向对象设计的SOLID原则
查看>>
mysql 下 计算 两点 经纬度 之间的距离 含具体sql语句以及伪列作为查询条件实现
查看>>
extern "C"的用法解析
查看>>
pdf转word,免费网站
查看>>
Groovy高效编程——‘匕首方法’的使用
查看>>
makefile
查看>>
rpm: /usr/bin/rpmspec: No such file or directory error 解决办法
查看>>
提高你的Python: 解释yield和Generators(生成器)
查看>>
python多进程共享变量Value使用tips
查看>>
使用HttpGet 发送 json格式的参数
查看>>
安装Xen、创建Xen虚拟机、使用Xen虚拟机过程中经常出现的错误总结
查看>>
rrdtool 数据处理和PDP CDP
查看>>
高可用集群heartbeat模块可靠消息通信机制过程原理
查看>>
CentOS7之常用服务
查看>>
RRD起步——通过例子理解RRD(译)
查看>>