Excel中VBA编程学习笔记(一)「建议收藏」

Excel中VBA编程学习笔记(一)「建议收藏」1、注释及编码规则注释:单引号:可以位于句子结尾或者单独一行; Rem:单独一行 编码规则:如果VB中的关键字是由多个英文字母组成,则系统自动将每个单词的首字母转换成大写字母,其余字母一律转换成小写字母。 对于用户自定义的变量名、过程名、函数名,VB以第一次定义的为准,以后输入的自动转换成首次的形式。 如果在同一行写多条语句,语句间要用冒号“:”隔开。例如:Form1…

大家好,又见面了,我是你们的朋友全栈君。

1、注释及编码规则

注释:

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

 

编码规则:

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

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

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

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

                     “现代化教学中心”  +  _

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

 

2、类模块

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

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

 

Excel中VBA编程学习笔记(一)「建议收藏」【例】

下面定义一个类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、设置窗体尺寸及位置

以下两种方式均可:

Excel中VBA编程学习笔记(一)「建议收藏」

Excel中VBA编程学习笔记(一)「建议收藏」

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137700.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java继承和多态

    java继承和多态继承和多态文章目录继承和多态继承多态继承多态

    2025年10月19日
    3
  • UDP协议开发

    UDP协议开发1简介在进行电网插件开发的过程中,对电网接入程序进行了开发,使得在综合安防管理平台上能够非常方便的接入天地维正电网设备。电网数据采用UDP协议,通过监狱局域网,向用户指定的5个IP地址的某端口,同时发送,各IP地址收到的数据相同。因为是第一次使用网络数据报进行开发,因此遇到了许多的坑。在这里把遇到的问题组织成一个文档,重新理解在代码撰写过程中遇到的问题。本文档适用于初次使用UDP进行…

    2022年5月31日
    72
  • sublime text3 激活码 2021【2021最新】[通俗易懂]

    (sublime text3 激活码 2021)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月27日
    76
  • 开源!!!100 多个常用 API 数据接口免费分享!建议收藏![通俗易懂]

    开源!!!100 多个常用 API 数据接口免费分享!建议收藏![通俗易懂]点击上方“Java精选”,选择“设为星标”别问别人为什么,多问自己凭什么!下方有惊喜留言必回,有问必答!每天08:15更新文章,每天进步一点点…我们在开发的过程中,常常调用API接口,往往事半功倍。今天给大家整理了优秀的API接口!各类无次数限制的免费API接口整理,主要是聚合数据上和APIStore上的一些,还有一些其他的。聚合数据提供30大类,160种以上基…

    2022年9月17日
    2
  • kivy小程序——计算器

    kivy小程序——计算器fromkivy appimportApp coreimportwi uix widgetimport propertiesim langimportBu core windowimport size 500 700Builder load string

    2025年8月25日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号