上代码:
1.按Alt+F11,或者在Excel【开发工具】【选项卡下找到【代码】模块,点击【Visual Basic】按钮,进入VBE(Visual Basic编辑器),如图:
2.在VBE右边的【工程资源管理器】中的空白区域,单击鼠标右键,选择【插入】===>【模块】
3.在代码区域输入如下代码:
4.代码说明:
4.1 在上面的代码中 :Option Explicit用于声明严格模式,在此模式下,要求用户必须强制声明变量,即第三行中的Dim i,j
4.2 Sub与End Sub表示一个过程(宏)的开始与结束数据调整()表示过程(宏)名
4.3 For i = 2 To 29(For j = 2 To 29)代表一个for循环,循环从2开始,依次加1直到数据大于29时循环结束(如果大家遇到更多行的处理数据,将29改为对应的数据即可,内部的for循环可以根据右边的行数进行修改)
4.4 Cells(x,y)代表Excel中的指定单元格,x代表指定行,y代表指定列,例如Cells(5,6)代表表格中的第5行第6列的单元格,即Excel中的F5单元格
4.5If (Cells(i, 1) = Cells(j, 10)) Then Cells(i, 6) = Cells(j, 11) 这行代码中用户可以把IF读成如果,then读成那么,i和j表示和for循环中指定的i和j一一对应,因此,当用户所处理的数据和该表格中所处理的数据不同时,修改对应的列即可
5. 运行代码:按F5键,或者点击VBE工具栏中的小三角按钮,该代码就会执行,有的时候系统会弹出一个小的对话框询问用户是否执行该宏,点击【确定】即可
6.查看运行结果
如下图,是运行代码以后的结果,在不到1秒的时间,系统已经把所有的数据都匹配结束
实例二:万年不变工资条(录制宏)
说完名称,我想很多用户知道我要干什么了,没错就是要制作工资条,如下图1为原始状态,图2为成果,下面我们来开始操作
图1
图21. 在【开发工具】选项卡中找到【代码】模块,点击【使用相对引用】,将其激活
2. 选中要操作的指定行,在步骤1中的【代码】模块中找到【录制宏】按钮,并设置快捷键(如果此处忘记设置快捷键,可以在“录制宏”结束以后进行设置快捷键)
注意:宏名可以随意设置,或者默认也好,自己记得就好,如果录制了多个宏时记得区分
快捷键可以是ctrl键加一个字母或符号 ,也可以是ctrl+shift+字母或符号,如果录制多个宏,注意不要把快捷键设置成相同的
3. 使用宏开始记录操作过程
本实例中要记录的操作为将选中行【单击右键】===>点击【复制】===>选中第三行===>【单击右键】===>【插入复制的单元格】===>【选中第三行】===在【开发工具】的【代码】模块点击【停止录制】,操作过程即记录了下来
4.补充快捷键(此操作是为开始时忘记设置快捷键的人设定)
点击【开发工具】选项卡下的【代码】模块,点击【宏】按钮,即可查看当前录制的所有宏
点击刚才录制的宏,然后点击【选项】按钮,即可设置快捷键,设置规则已在上面讲过,此处不在赘述,设置完成后点击【确定】,将对话框关闭即可
5.运行宏,点击快捷键,即可完成操作,不断点击快捷键,即可完成工资条的制作,注意此处如果中途选中行换了,请将指定行重新定位到第三行去
结果6.进阶,一步到位
将开始录制宏的过程中生成的第三行删除,然后打开VBE(前面已经讲过如何打开VBE,此处不再赘述),可以发现此时【工程资源管理器】中新加了一个【模块】,点击【模块】对应的文件夹图标,打开【模块】,在其下面生成的子模块单击鼠标【右键】===>选择【查看代码】,如图
在代码中插入两行代码,让其循环执行,示例1中已经解释过,此处不再赘述,两行代码用于循环处理多行数据,如下
此时将Excel中的选中行定位到第一行,按F5执行代码,再看Excel表发现工资条已经制作完成!
本期教程到此结束,应读者要求,接下来的两个月,每周六小编都会在百家号出一篇有关VBA的文章,如果喜欢,欢迎大家关注,如果有在使用过程中遇到了什么问题,欢迎大家给小编留言,小编看到以后会尽快解答,谢谢大家的支持