(一)什么是VBA?什么是宏?

  VBA (Visual Basic For Application)是一种编程语言,是建立在Office中的一种应用程序开发工具。可以利用VBA有效地扩展Excel的功能,设计和构建人机交互界面,打造自己的管理系统,帮助Excel用户更有效地完成一些基本操作、函数公式等不能完成的任务,从而提高工作效率。顾名思义,VBA使用的编程语言是VB。

  VBA是编程语言,宏是用VBA代码保存下来的程序。录制的宏只是VBA里最简单的程序,正因为如此,录制的宏存在许多的缺陷:如无法进行判断和循环,不能显示用户窗体,不能进行人机交互……要想打破这些局限,让自己的程序更加自动化和智能化,仅仅掌握录制和执行宏是远远不够的,还需要掌握VBA编程的方法,自主地编写VBA程序。这就是我们学习VBA的目的。

(二)VBA的一个简单应用

                        图1                                             图2

  如图1所示的表格,现在需要将其制作为图2所示的工资条,发给每名员工。你会怎么做?

方法一:复制第一行,不停地粘贴该行。问题是数据量较少时,10、20、50,甚至100这种方法都还能接受,数据量突破200时就显得特别笨了。

方法二:录制宏

录制宏简单而言就是将重复的操作合并为一个动作,然后不断重复该动作。

录制宏前需要如下操作进入宏的录制:

以本题而言,需要集合的操作为  选中目标行——复制——选中要粘贴的位置——复制——选中控制单元格,宏的录制过程即如下:

这样就将一系列的操作整合为了这样一个宏操作,相当于每执行一次宏就执行了一次上面的所有的操作。可以给宏设置快捷键。如图

点击确定后就将ctrl+p设为了名为“生成工资条”的宏的快捷按键,每按一次就执行一次宏。

通过录制宏大大简化了操作,但仍然比较繁琐,如果有1000条数据,需要按键1000次,如果有2000,5000呢?有没有更方便的方法呢?

方法三:录制宏+VBA编程

在方法二的录制宏的基础上继续改进,采用VBA编程的方法。

首先点击宏——查看宏,点击“编辑”

进入VBA编程的代码查看界面

上图是VBA编程界面,代码完全是录制的宏对应的代码。如下:

现在我们需要对这段代码进行修改,直接完成方法二中所需要进行的多次按键操作。共需要修改两处。

第一处:

在Sub 宏名():下面加上如图两行,其中1 To 259 根据实际数据行数进行变化。

第二处:

在End Sub前加上一行Next,使得代码循环。

更改后代码为:

保存代码后,点击宏——查看宏——运行。直接生成所有需要的工资条。

(三)总结

  初次认识了宏和VBA编程,通过简单例子显示了宏及VBA编程的高效,尤其针对大量数据的重复性操作,可以起到指数级的速度提升。

Excel学习——VBA学习(一)的更多相关文章

  1. Excel开发VBA学习

    1.合并字符串A1&A22.拆分字符串LEFT(A2,SEARCH("-",A2)-1)3.下拉选项Data->Data validation->List 1. ...

  2. VBA学习思路

    打算花两三天学习VBA的基础,学习资料为<别怕,VBA其实很简单>,为了快速学习,先了解大致框架,后续再深入学习各种属性.方法和技巧. 1.VBA编程环境基本操作,手工操作,熟悉即可 2. ...

  3. VBA学习笔记

    这是一个学习VBA编程的学习笔记. 一. 介绍 二. 使用手册 2.1. 如何在Excel2010中开始使用VBA? 2.2. 如何使用VBA编辑器进行编程? 三. 语法说明 3.1 数据类型 3.2 ...

  4. 学习VBA

    学习VBA VBA 就是 (Visual basic for Application) 用的比较多的是在Excel中处理数据,可以方便快捷地使用编程方式来对数据进行操作. VBA 数据类型 Integ ...

  5. VBA学习之关于数据透视表的应用

    工作中很多地方需要同时处理多个数据表,而且用数据透视表进行排版,排序,计算字段,一个一个的做非常累,这里给出批量处理的方法. 学习VBA之前最好懂一点点VB的基础知识,因为里面的很多语法问题都是由VB ...

  6. IT人的自我导向型学习:学习的4个层次

    谈起软件开发一定会想到用什么技术.采用什么框架,然而在盛行的敏捷之下,人的问题逐渐凸显出来.不少企业请人来培训敏捷开发技术,却发现并不能真正运用起来,其中一个主要原因就是大家还没有很好的学习能力.没有 ...

  7. IT人的自我导向型学习:学习的3个维度

    看到大家对我的文章赞了不少,看来大家还比较喜欢看.园子里的一些朋友和我说:”终于又看到你要在园子里发原创文章了.几年前就受益匪浅,经过几年的成长分享来的东西肯定也是精品.“ 感谢大家对我的信任,如果你 ...

  8. Deep Learning(深度学习)学习笔记整理系列之(五)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  9. Deep Learning(深度学习)学习笔记整理系列之(八)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

随机推荐

  1. Android Drawable - Shape Drawable使用详解(附图)

    TIPS shape图形 –简单介绍 shape图形 –如何画? shape图形 –参数详细解析 shape图形 –如何用? shape图形 –实际开发应用场景 shape图形简单介绍 用xml实现一 ...

  2. `docker数据持久化volume和bind mounts两种方式

    将数据从宿主机到容器的三种方式: ,volumes:docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)保存数据的最佳方式 ,bind mounts 将宿主机上的任 ...

  3. libcurl库的简单使用

    #include <stdio.h> #include <tchar.h> #include <windows.h> #include <process.h& ...

  4. WeihanLi.Npoi 1.7.0 更新

    WeihanLi.Npoi 1.7.0 更新介绍 Intro 昨天晚上发布了 WeihanLi.Npoi 1.7.0 版本,增加了 ColumnInputFormatter/ColumnOutputF ...

  5. Linux常用命令大全(三)

    Linux常用命令大全(三) 文件类型 普通文件(文本文件.数据文件.可执行的二进制文件) 目录文件 同上 差别:由成对的"I节点号.文件名"构成的列表 设备文件 (字符设备.块设 ...

  6. 认识Web应用框架

    Web应用框架 Web应用框架(Web application framework)是一种开发框架,用来支持动态网站.网络应用程序及网络服务的开发.类型可以分为基于请求(request-based)的 ...

  7. 洛谷训练新手村之“BOSS战-入门综合练习2”题解

    P1426 小鱼会有危险吗 题目链接:https://www.luogu.com.cn/problem/P1426 题目大意: 有一次,小鱼要从A处沿直线往右边游,小鱼第一秒可以游7米,从第二秒开始每 ...

  8. 不懂Neo4j?没关系,先学增删改查

    从上篇文章中我们了解到了什么是Neo4j.为什么要用Neo4j.什么场景使用 以及怎么安装,如果您还不想熟悉,点击此处,传送过去哦~ 既然Neo4j是一个图数据库,那么毫无疑问,增删改查是必不可少的, ...

  9. Pandas的介绍与基本使用

    1.什么是Pandas 当大家谈论到数据分析时,提及最多的语言就是Python和SQL,而Python之所以适合做数据分析,就是因为他有很多强大的第三方库来协助,pandas就是其中之一,它是基于Nu ...

  10. cogs 247. 售票系统 线段树

    247. 售票系统 ★★☆   输入文件:railway.in   输出文件:railway.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] 某次列车途经C个城市,城市 ...