分享

类模块实例

 gblhp 2015-02-16

除非注明,文章均为 战战如疯 原创,转载请保留链接: http://www./cat4/507.html,VBA交流群273624828。

再来看个类模块的实例。用VBA插入图表往往要设计一大堆的参数,为了方面,这次我们设计一个类模块,每次要插入图表时调用该类模块,输入几个参数就可以了。

在这里一共设置了3个参数,“目标工作表”是放图表的地方,“数据区域”就是图表调用的数据区域,“图表类型”就是柱 形图、饼图之类的东西。

先插入一个类模块,命名为NewChart,然后编写“目标工作表”,“数据区域”,“图表类型”3个可写属性

Private ShtName, rng, cType
Property Let 目标工作表(mysheetname As String)
ShtName = mysheetname
End Property
Property Let 数据区域(myRng As Range)
Set rng = myRng
End Property
Property Let 图表类型(myType As Integer)
Select Case myType
Case 0
cType = 1
Case 1
cType = -4102
Case 2
cType = -51
End Select
End Property

可写属性用的是Property Let 属性名(参数)这种方式,传递进来的参数我们都要用声明的公共变量记录下来,以方便之后的使用。这里图表类型设了3个选项0,1,2,分别对应3个图表类型,这里不多介绍。

属性设置完了下面来设置创建图表方法。

Public Sub 创建图表()
Dim cht
On Error Resume Next
For Each cht In Worksheets(ShtName).ChartObjects
cht.Delete
Next
Set cht = Worksheets(ShtName).ChartObjects.Add(100, 30, 450, 250)
With cht
.Chart.ChartType = cType
.Chart.SetSourceData rng
.Chart.HasTitle = True
.Chart.HasLegend = True
End With
End Sub

该方法中目标工作表、数据区域、图表类型都是调用之前设好的3个属性。

类模块设计好了下面看怎么使用类模块。插入一个模块,输入下列代码

Sub test()
Dim myChart As New NewChart
myChart.目标工作表 = "Sheet1"
myChart.数据区域 = Sheet1.Range("B1:D5")
myChart.图表类型 = 2
myChart.创建图表
End Sub

定义一个新的类模块NewChart,然后指定目标工作表、数据区域、图表类型3个属性,再调用创建图表方法,一个图表就创建成功了。

本节示例文件下载地址:http://pan.baidu.com/s/18NBSM

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多