大家好,又见面了,我是你们的朋友全栈君。
1、注释及编码规则
注释:
- 单引号:可以位于句子结尾或者单独一行;
- Rem:单独一行
编码规则:
- 如果VB中的关键字是由多个英文字母组成,则系统自动将每个单词的首字母转换成大写字母,其余字母一律转换成小写字母。
- 对于用户自定义的变量名、过程名、函数名,VB以第一次定义的为准,以后输入的自动转换成首次的形式。
- 如果在同一行写多条语句,语句 间 要用冒号“:”隔开。例如:
Form1.Width = 300 : Form1.Caption = “VB!”
- 如果一条语句在一行写不下,可以分多行写,续航符为:一个空格后面跟一个下划线“_”。
例如: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
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137700.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...