EXCEL VBA小白第一课:入门

本文首发我的知乎,转载请注明出处。


其实网上关于VBA的教程并不少,但是对于小白来说,最难的还是入门。

大神们一行行代码讲得天花乱坠,然而小白却不知道从哪里进入代码界面,代码的语法是怎样的,怎么运行代码,怎么进行debug。

我也是从小白一步步摸石头过河,所以能深切体会到小白内心的无力和憧憬。

所以,我们从第一步开始,一起努力走向VBA大神之路吧!

梦想还是要有的。。。万一那什么了呢?


嗯咳!

目前打算分为七课:

入门(代码界面及基本语法)

查找空白单元格并标上颜色

插入、删除行,合并空白单元格

动态图表

合并/分离工作表

隐藏、加密工作表

简单EXCEL爬虫设计


第一课,开始!


  1. 按钮与动态图表

这是我做的一个按钮与动态图表的交互,通过点击灰色框中标示的按钮,屏幕上的图表会随之变化,在第四课中,会一步步详述如何在VBA中实现这个过程。


因为是做小Demo所以直接从EXCEL模板库拿的数据。图表做得略简陋,勿喷!







UI来源于网络,侵删



2. 代码的藏身之处

现在我们就要真正开始进入写代码的界面了。

右键工作表,选择"View Code",或者快捷键Alt+F11进入代码操作界面。



在本阶段的课程里,大部分代码我们都是写在"Modules"

选中"Modules",插入一个Module。




双击你新建的Module,就可以看到右侧的界面了。

VBA代码以Sub XX()开始,以End Sub结束。其中这个XX是用户自己定义的名字。

箭头指向的位置是代码正文开始的部分。






3. 单元格的表达法则

那么接下来我们就来写一段简单的代码,来了解单元格的各种表达方式。

Sub test1()

'选择A1单元格表达法1

Range("A1").Select

End Sub


Sub test2()

'选择A1单元格表达法2

Cells(1,1).Select

End Sub


Sub test3()

'选择XXX("XXX"为你要选择的工作表名称)

Sheets("XXX").Select

End Sub


Sub test4()

'为单元格B1赋予单元格A1的值

Range("B1")=Range("A1").Value

End Sub


Sub test5()

'全选工作表

Sheets("XXX").Columns.Select

End Sub


4. 按钮的功能实现

写好代码之后,可以回到工作表界面,选择你添加的按钮,右键“Assign Macro”,选择你刚才写的任意一个test,确定后点击这个按钮,就可以运行程序,查看代码运行结果了。