No.1
Excel vba 编程是一门相对入门简单,而且针对实际应用很有效的一种代码编程。
通常作为表格应用来进行数据处理,一般情况下Excel集成了很定义函数,已经很方便地解决了表格数据计算的一些功能。
比如求和、平均、加减乘除,会计计算函数等等。
这些函数在worksheetFunction里完全可以解决所有的数值计算。
那为什么还要学习vba编程呢?

No.2
在可用到一些函数中,或许在某些情况下还需要我们自定义一下功能。
那么在灵活性方面,就更加需要自己动手。
vba 可以实现你想实现的工作方式,比如它引入了对象,窗体对象、控件对象、name对象、style对象,windows对象等等。
实际上这是一种面向对象的编程,简单来说就是了解各熟悉各种各样的对象,然后这些对象有各自的属性,可以自由地对这些属性进行设置,再用逻辑语句将这些对象进行方法调用。
如此,程序就会按照你的想法进行执行了。
No.3
面向对象编程实际上是十分简单的一种编程方法,掌握编程方法之后,就没有任何难度可言了。
当然这样也不是说vba就是不会用到函数式编程方法。
如果可以,还是推荐使用函数式编程,把各个功能进行拆分、打包成一个个函数,进行调用。
这样的好处就是代码清晰,直观简单,而且维护方便。
假如哪里出错,不用在冗长的代码里找出错的变量,实在不是好办法。
No.4

函数式编程,还可以减少代码编写量,有些可以重复使用的尽量整合到一个函数里进行调用。
如果做到这一点,还是要相当的编写能力。
但并不意味着不可以。
特别是对一些对象属性进行设置的时候,相同的代码不需要每个对象设置一遍。
No.5
例如我们要新建一些按钮对象,然后对按钮进行设置属性,如此我们就可以定义一个函数,直接调用这个函数对按钮属性进行统一设置。
如下图

假如每个控件逐个进行设置,那么几个按钮就需要要重复几次同样的代码,可想而知有代码量会成倍增加,做得太多,感觉毫无意义。
这就需要对代码进行一些函数式修改。
No.6
代码:
Dim iObj As Object, i As Integer
For i = 1 To ri
Set iObj = Me.Controls.Add("Forms.commandbutton.1", "B" & i)
With iObj
.Top = 80
.Left = 110 * (i - 1) + 10
.Width = 110
.Height = 30
.Caption = w.Range("A" & i).Value
With .Font
.Size = 12
.Name = "微软雅黑"
.Bold = False
End With
End With
Next i
如上代码整合成一个函数后,哪怕增加100个或1000个按钮代码也不会再增加一个字符,是不是很省心。
不妨考虑一下。