VBA 学习笔记1 基本语法

2020-02-20  本文已影响0人  赵阳_c149

数据类型

VBA公有12种数据类型,具体见下表,此外用户还有可以根据以下类型用Type自定义数据类型

数据类型 类型 标识符 字节
字符串 String $ 字符长度(0-65400)
字节型 Byte 1
布尔型 Boolean 2
整数型 Long & 4
单精度型 Single 4
双精度型 Double # 8
日期型 Date 8,公元100/1/1-9999/12/31
货币型 Currency @ 8
小数点型 Decimal 14
变体型 Variant 以上任意类型,可变
对象型 Object 4

变量与常量

VBA允许但是不建议使用为定义的变量,默认是变体变量。

Dim 变量  As 类型  '定义为局部变量
Private 变量  As 类型  '定义为私有变量
Public 变量  As 类型  '定义为公有变量
Global 变量  As 类型  '定义为局部变量
Static 变量  As 类型  '定义为静态变量

注释

注释语句是用来说明程序中某些语句的功能和作用;VBA中有两种方法标识为注释语句。

' 定义全局变量;

可以位于别的语句之尾,也可单独一行

Rem 定义全局变量

只能单独一行

sub过程和函数

sub过程和函数都是构成程序的一个模块,往往用来完成一个相对独立的功能。过程可以使程序更清晰、更具结构性。

sub 过程

Sub 过程的参数有两种传递方式:按值传递(ByVal)和按地址传递(ByRef)。

Sub password (ByVal x as integer, ByRef y as integer)
  If y=100 then y=x+y else y=x-y
  x=x+100
End sub

函数

函数实际是实现一种映射,它通过一定的映射规则,完成运算并返回结果。参数传递也两种:按值传递(ByVal)和按地址传递(ByRef)。

Function password(ByVal x as integer, byref y as integer) as boolean
  If y=100 then y=x+y else y=x-y
  x=x+100
  if y=150 then password=true else password=false
End Function

区别

  1. 返回值
    sub 过程:没有返回值
    函数:有返回值
  2. 调用方法
Call password(x_val,  y_ref)
Dim rel As Boolean
rel = password(v_val,  y_rel)
上一篇下一篇

猜你喜欢

热点阅读