1、注释及编码规则

注释:

  1. 单引号:可以位于句子结尾或者单独一行;
  2. Rem:单独一行

编码规则:

  1. 如果VB中的关键字是由多个英文字母组成,则系统自动将每个单词的首字母转换成大写字母,其余字母一律转换成小写字母。
  2. 对于用户自定义的变量名、过程名、函数名,VB以第一次定义的为准,以后输入的自动转换成首次的形式。
  3. 如果在同一行写多条语句,语句 间 要用冒号“:”隔开。例如:

Form1.Width  =  300 :  Form1.Caption = “VB!”

  1. 如果一条语句在一行写不下,可以分多行写,续航符为:一个空格后面跟一个下划线“_”。

例如:Address = “天津市河北工业大学”  +  _

“现代化教学中心”  +  _

“计算机技术基础教研室”

2、类模块

在Excel VBA中类模块就相当于一个类,类模块的名字就是类名。

下面为定义的一个类Class1,并且有些基本属性及一个初始化函数

【例】

下面定义一个类Class1,

Private name, sex As String

Private age As Integer

Public rng As Range

Sub class_initialize()  '初始化

sex = "男"

age = 20

End Sub

Public Property Get GetName() As Variant

GetName = name

End Property

Public Property Get GetSex() As Variant

GetSex = sex

End Property

Public Property Get GetAge() As Integer

GetAge = age

End Property

Public Property Let SetName(newName As String)

name = newName

End Property

Public Property Let SetSex(newSex As String)

sex = newSex

End Property

Public Property Let SetAge(newAge As Integer)

age = newAge

End Property

Public Function GetInfo() As String

GetInfo = "姓名:" & name & ";性别:" & sex & ";年龄:" & age

End Function

Public Property Get maxNumer(num As Integer) As Integer

maxNumber = Application.WorksheetFunction.Max(num, age)

End Property

Public Property Set SetBckColor(myRng As Range)

myRng.Interior.ColorIndex = 3

End Property

新建一个过程

Sub test()

Set tmp = New Class1

Debug.Print tmp.GetAge() '20

tmp.SetName = "张三"

tmp.SetAge = 23

Debug.Print tmp.GetInfo()    '姓名:张三;性别:男;年龄:23

Set tmp.SetBckColor = Sheet3.Rows(1)         ‘将Sheet3的第一行背景色设置为红色

End Sub

3、新建对象及常用对象

新建一个模块。

Option Explicit

Sub a()

Dim ab As New Class1

Debug.Print ab.x

End Sub

不能使用NEW创建的对象

不能使用NEW创建

不允许的代码例子

基本数据类型的变量

Dim X As New String

任何一般对象类型的变量

Dim X As New Control

任何特定控件类型的变量

Dim X As New ListBox

任何特定控件的变量

Dim X As New lstName

常用对象

对象名称

代表事项

Application对象

代表整个Excel应用程序

Debug对象

在运行时将输出发送到立即窗口

Name对象

代表单元格区域的定义名称

Dialog对象

代表内置的Excel对话框

Range集合对象

代表某一单元格、某一行、某一列、某一选定区域

Window对象

代表一个窗口

Windows集合对象

代表Excel中所有Window对象的集合

Chart对象

工作薄中的图标

Charts集合对象

指定的或者活动的工作薄中所有的图表的集合

Sheets集合对象

指定或活动工作薄中所有工作表的集合,Sheets集合可以包括Chart对象或WordSheet对象

WorkBook对象

代表Excel工作薄

WorkSheet对象

代表一张工作表

Shape对象

代表图层中的对象,例如自选图形、任意多边形、OLE对象或图片

AutoFIle对象

代表指定工作表的自动筛选

Filters集合对象

由多个Fileter对象组成的集合,这些对象代表自动筛选区域内的所有的筛选

Filter对象

代表单个列的筛选

4、设置窗体尺寸及位置

以下两种方式均可:

5、声明变量及常量

变量声明格式如下:

Dim|Private|Public|Static <变量1> as <类型1> [,<变量2> as <类型2> …..]

关键字

使用范围

Dim

可以用在任何场合定义变量

Private

可以用于定义窗体级或模块级,不能在过程中使用

Public

用于窗体级或者模块级定义全局变量,不能在过程内部使用

Static

只能在过程内部使用,用于定义静态的局部变量

注:没有是上面的关键字来明确的变量叫做隐式变量,系统自动分配的数据类型为Variant,如DaysLeft=100.

Private name As String '声明全局变量

Private Sub A()

Dim M As Range '声明局部变量

Set M = Sheet1.Range("A1")

M.Value = InputBox("请输入:")

name = Sheet1.Range("A1").Value

MsgBox ("你输入的内容" & name)

End Sub

声明常量

Private Sub A()

Const pi As Integer = 3.1415926

Dim area As Double

area = pi * 2 * 2

Debug.Print ("面积为:" & area)

End Sub

Excel中VBA编程学习笔记(一)相关推荐

  1. Excel中VBA编程学习笔记(十一)--正则表达式

    在VBA中使用正则表达式受限需要引用Microsoft VBScript Regular Expressions 5.5类库.在VBA界面,"工具"-->"引用&q ...

  2. Excel中VBA编程学习笔记(七)--窗口应用(WINDOW)

    1.修改并获取当前窗口标题 Private Sub test() Windows(1).Caption = "My Excel" MsgBox ("当前窗口标题:&quo ...

  3. Excel中VBA编程学习笔记(十二)--自动筛选

    Range.AutoFIlter方法可以进行自动筛选,语法结构如下: Range.AutoFilter(Field,Criteria1Operator,Criteria2,VIsibleDropDow ...

  4. Excel中VBA编程学习笔记(十)--单元格(cell)

    1.单元格引用 引用 含义 Range("A1") 单元格A1 Range("A1:B2") A1到B2的单元格区域 Range("C5:D9,G9: ...

  5. 在EXCEL中VBA编程检验身份证号码有效性

    *2022-12-05 改正代码中错别字,规范表述 *2022-11-30 1.增加了过程clearB()用来清除B1:Bx原有的出错说明,在过程examIdentityCard() 开头调用 2.修 ...

  6. Excel中VBA编程将大写人民币转阿拉伯数字

    实际应用中大多数需求都是阿拉伯数字转 大写人民币 很少有反过来的需求. 可是,有轮子用它不香吗>.< Sub ChangeMoneyToNum() Dim reg As Object, a ...

  7. 网络通信编程学习笔记(六):socket编程实战

    目录 一.wireshark抓包分析TCP协议 1.1.TCP协议的连接与断开简介 1.2.用wireshark抓取使用TCP协议传输的握手包 二.用Teardrop代码编写一个假包,并抓取 2.1. ...

  8. Excel与VBA编程中的常用代码

    Excel与VBA编程中的常用代码 用过VB的人都应该知道如何声明变量,在VBA中声明变量和VB中是完全一样的! 使用Dim语句 Dim a as integer '声明A为整形变量 Dim a '声 ...

  9. python的messagebox的用法_Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解...

    本文实例讲述了Python GUI编程学习笔记之tkinter中messagebox.filedialog控件用法.分享给大家供大家参考,具体如下: 相关内容: messagebox 介绍 使用 fi ...

最新文章

  1. mysql子查询是什么_mysql子查询
  2. Spring Web Flow 2.0 入门详解
  3. SAP Spartacus里的routerLink测试
  4. 解决android studio引用远程仓库下载慢(JCenter下载慢)
  5. 基于JAVA+SSH+MYSQL的社区医院远程挂号系统
  6. JS - Math对象
  7. 半波对称振子方向图_画好服装款式图的五个要点
  8. Vue实例和生命周期 1
  9. 【转】AndroidStudio升到最新版本(3.1.2)之后
  10. 2018-2019-1 20165201 实验四 外设驱动程序设计
  11. junit单元测试详解
  12. 全国计算机等级考试二级cpp试题,全国高校计算机等级考试(二级C)模拟试题全套.doc...
  13. 苹果电脑壁纸打包下载,macbook自带壁纸下载
  14. apache mediawiki 安装_mediawiki安装使用
  15. 怎么美化Typora的标题格式
  16. Machine learning system design - Error analysis
  17. 20、中断和动态时钟显示
  18. 微信小程序接入富文本编辑
  19. 欢迎报名2021年湖北省中小学电脑制作活动无人机编程赛项
  20. 文学随笔:《错过独白》

热门文章

  1. 使用jquery.form.js上传图片或文件
  2. 心理学实验学习pygame编程-贪吃蛇(2)
  3. Python网络爬虫实战(一)快速入门
  4. 用户 'sa' 登录失败的解决方案
  5. matlab的函数库,matlab函数库大全
  6. 大疆软件经纬度偏差消除
  7. Elasticsearch Compound queries 学习总结
  8. 江南大学计算机面试英语,江南大学英语面试!!!
  9. 张一鸣:Stay hungry, Stay young
  10. YOLSO: You Only Look Small Object