我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的劳动效率,而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册,现在已经全部完成,希望大家利用、学习。

如果您只是一般的职场VBA需求,可以打包选择7.1.3.9教程+汉英手册,第7套教程是入门,第1套教程是入门后的提高,第3套教程字典是必备的VBA之精华,第9套教程是实用的典型案例讲解。这四套教程内容掌握后足以处理一般工作中的问题,实际写代码的时候再辅助代码汉英手册,足矣!如果您想进一步提高,就需要选择高级阶段的教程了

VBA是面向对象编程的语言,博大精深。很多朋友咨询VBA的学习方法,我会陆续给大家讲解一些我的经验,大家可以慢慢体会。今日的内容是:如何学习VBA_3.2.7:工作簿的操作引申

如何学习VBA_3.2.7:工作簿的操作引申_VBA



【分享成果,随喜正能量】有人问,为什么从未做过坏事还是被伤害。不要因为受伤就否定了善良的意义,世间的一切都是心的显现,你布施什么就会得到什么。善良是一种回向,它有自己的因果节奏,别急着要结果。。

3.3 学习提高过程中的思考(贯彻我的编程思想)

在学习过程中,我们要同时思考几个问题,这也是我们学习过程中的提高。

3.2.7 工作簿的操作引申

对于工作簿的操作,我们在VBA中要熟练地掌握“不同工作薄文件间的切换”;“如何新建EXCEL工作簿文件”“利用SAVE,SaveAs,SaveCopyAs方法保存工作薄”,在应用技巧方面,教程中给大家介绍的方法有“禁用EXCEL工作簿右上角的关闭按钮”。这些操作和技巧是我们在VBA中经常利用的。特别是工作表的切换,其实就是对工作表的引用。

在面向对象编程中,我一直在强调以对象为中心点。我们所有的操作都是以对象为中心的。属性也好,方法也罢,都是对象的分支点。我在第七套和第八套中曾经讲解了对象的层次结构,也就是说对象是分层次的,对象的属性可能也是对象,一个对象可能有父对象和子对象,最大的对象就是我们经常提到的应用程序对象即:Application对象

在讲工作薄对象的时候,我们还讲到了图表的利用,“利用VBA自动生成图表”在这个专题中讲到了图表的添加及如何设置图表的源,在教程中对于图表的讲解较为简单,只是起到介绍的作用。在我的教程中我给出了一段代码,用于生成图表:


Sub mynz_30() '29,30 使用VBA代码自动生成图表

Dim myRange As Range

Dim myChart As ChartObject

Dim MR As Integer

Sheets("29,30").Select

MR = Range("A1048576").End(xlUp).Row

Set myRange = Sheets("29,30").Range("A" & 1 & ":F" & MR)

'创建新的嵌入图表 expression.Add(Left, Top, Width, Height)

Set myChart = Sheets("29,30").ChartObjects.Add(150, 140, 400, 250)

'指定新创建图表的图表类型:xlColumnClustered即图表类型为簇状柱形图

myChart.Chart.ChartType = xlColumnClustered

'图表的数据源和绘图方式②

myChart.Chart.SetSourceData Source:=myRange, PlotBy:=xlRows

'ApplyDataLabels方法使图表显示数据标签和数据点的值③

myChart.Chart.ApplyDataLabels ShowValue:=True

'设置图表标题的文字

myChart.Chart.HasTitle = True

myChart.Chart.ChartTitle.Text = "我的图表"

With myChart.Chart.ChartTitle.Font

.Size = 20

.ColorIndex = 3

.Name = "华文新魏"

End With

'设置图表区的颜色

With myChart.Chart.ChartArea.Interior

.ColorIndex = 8

.PatternColorIndex = 1

.Pattern = xlSolid

End With

'设置绘图区的颜色

With myChart.Chart.PlotArea.Interior

.ColorIndex = 35

.PatternColorIndex = 1

.Pattern = xlSolid

End With

'设置图表上第二个数据系列中的数据标签的字体格式④⑤

With myChart.Chart.SeriesCollection(2).DataLabels.Font

.Size = 17

.ColorIndex = 3

End With

Set myRange = Nothing

Set myChart = Nothing

End Sub


对于这段代码,我们要充分理解字体的设置,颜色的设置等等。

如何学习VBA_3.2.7:工作簿的操作引申_自动生成_02




如何学习VBA_3.2.7:工作簿的操作引申_VBA_03


我20多年的VBA实践经验,全部浓缩在下面的各个教程中:


如何学习VBA_3.2.7:工作簿的操作引申_数据_04