如何学习VBA_3.3.1:VBA代码程序运行时间的优化与视觉效果的兼顾

VBA语言専攻 2024-05-13 18:13:25

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

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

VBA是面向对象编程的语言,博大精深。很多朋友咨询VBA的学习方法,我会陆续给大家讲解一些我的经验,大家可以慢慢体会。今日的内容是:如何学习VBA_3.3.1:VBA代码程序运行时间的优化与视觉效果的兼顾

【分享成果,随喜正能量】一个人的气质,并不在容颜和身材,而是所经历过的往事,是内在留下的印迹,令人深沉而安谧。所以,优雅是一种阅历的凝聚;淡然是一段人生的沉淀。时间会让一颗灵魂,变得越来越动人。控制自己的脾气,做一个有修养的人。。

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

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

3.3.1 VBA代码程序运行时间的优化与视觉效果的兼顾

在《VBA代码解决方案》第二册的85讲到89讲,我讲了程序优化的问题,其实在这些章节中,我也一直在讲视觉和程序运行时间的兼顾问题。我在做程序的时候,往往注重的是前者,而不是后者,为什么呢?其实VBA带给我们的就是实用,真正要求做到节约时间往往是那些大型程序考虑的范畴。正如我在讲到VBA地位时的比喻,那些大型程序是城市与城市之间的高铁啊、火车啊、飞机啊,而VBA只是连接车站到家之间的汽车、电动车,当你考虑大型数据处理时最好要借助大型程序,如Python、PHP、GO、JAVA等等,从严格意义上讲,VBA不能称之为一种独立的语言体系,只是寄生于OFFICE的一条寄生虫,但你不要小看它,这部分交通运行不顺畅,也会引起城市的拥堵,工作效率的低下。所以,我们在工作中主要考虑的是视觉的效果,其次才是时间的节约。如何做到视觉的愉悦呢?下面我就来就一段实际的程序和大家分享。今天的程序读者也可以作为一个工具利用。

需求:建立一个工作薄1,写入代码,代码执行首先打开另外一个指定工作薄2,把其中工作表sheet1中A,B列的内容写入数组,然后关闭工作薄2,回到工作薄1,把数组数据保存到工作表1的CD列中。

这个案例在实际工作中会经常用到,或者类似的应用非常多,大家可以记住下面的代码。

要利用到的知识点:

1 工作薄的打开;

2 数据写入数组;

3 数组数据的导出。

今天我利用到了《方案》第三册第113讲的内容,将一个工作薄中工作表的数据写入数组,然后导出,看下面的代码截图:

代码:

Sub mynzkk()

Dim a(5000, 2)

Workbooks.Open Filename:=ThisWorkbook.Path & "\工作表.xlsx" '打开一个指定存储数据的工作薄

Workbooks("工作表.xlsx").Activate '让数据的工作表处在激活状态

MsgBox ("数据已经打开,是否继续?") '判断是否继续

Sheets("SHEET1").Select

k = 0

i = 1

'数组,并赋值

Do While Cells(i, 1) <> ""

k = k + 1

Cells(i, 1).Select

a(k, 1) = Cells(i, 1) '写入数组

a(k, 2) = Cells(i, 2)

i = i + 1

Loop

Workbooks("工作表.xlsx").Close '关闭数据工作薄

Workbooks("工作簿1.xlsm").Activate '让主程序的工作薄处在激活状态

Sheets("SHEET1").Select

[C1:D65536].Clear '清除原有数据

MsgBox ("下面将写入数据,请确认!")

For i = 1 To k

Cells(i, 3).Select

Cells(i, 3) = a(i, 1)

Cells(i, 4) = a(i, 2)

Next

MsgBox ("OK!")

End Sub

代码讲解:上述代码中,为了照顾到视觉,我加了四条语句如下所示:

目的:

1 让程序的运行可视,操作者可以随时知道程序运行到了哪里。

2 让应用这个程序的人有个主动的感觉,好像是自己在操控着程序的运行。这也是从心理上来取悦程序的使用者。其实不加这些都是可以的。

程序文件:

时间与视觉.xlsm

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

0 阅读:2