vba小知识

关于vba小知识

1.什么是VBA

Visual Basic for Applications(简称VBA)是新一代标准宏语言,是基于Visual Basic for Windows 发展而来的。它与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法。而VBA 提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。VBA 易于学习掌握,可以使用宏记录器记录用户的各种操作并将其转换为VBA 程序代码。这样用户可以容易地将日常工作转换为VBA 程序代码,使工作自动化。因此,对于在工作中需要经常使用Office 套装软件的用户,学用VBA 有助于使工作自动化,提高工作效率。另外,由于VBA 可以直接应用Office 套装软件的各项强大功能,所以对于程序设计人员的程序设计和开发更加方便快捷。

2.excel vba做什么

VBA是VB的一个子集。

尽管存在一些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在EXCEL中用VBA创建解决方案后,即已具备在WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用VBA创建解决方案的大部分知识.

* VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化.

* VBA可以称作EXCEL的“遥控器”.

VBA究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案.

此外,如果你愿意,还可以将EXCEL用做开发平台实现应用程序.

Office取得巨大成功的一个重要原因就是VBA,使用VBA可以完成很多事情,基于Excel、Word的VBA小程序不计其数。

VBA程序员很多是业余程序员,正因为业余,解决的却是工作中需要解决的问题;所以,VBA程序大多都是只是在部门内部或个人使用的小工具。

集成了VBA的其他应用程序也很多,但真正能为程序增色的不多。

大多数人看到了VBA可以自动化一个程序,可以扩展已有程序,但没有看到在Office中,VBA代码可以是录制的,而不是写出来的,带来的好处是,学习曲线变得非常缓。如果没有宏录制功能,要熟悉某个Office组件的对象模型,绝非一日之功。

以ArcGIS为例,ArcGIS扩展必须使用ArcObject,不管是使用VBA也罢,VB也罢,还是C++也罢。但同时,ArcObject的学习不是一天两天可以搞定,对于业余程序员,要使用VBA来扩展ArcGIS,几乎没有可能;专业程序员又不屑使用VBA;而对于公司,如果要基于ArcObject来扩展ArcGIS,选择VBA意味着源码的保护很困难。所以,ArcGIS的VBA就如同鸡肋。

不过,学习AO的时候,使用VBA比使用其他语言要容易一些,写几行代码,然后直接运行测试结果,这种交互式的学习应该是最好的学习方法。

ArcGIS以及AO与Office相比,还有一个很大的差别,就是ArcGIS缺乏中等粒度的对象,例如Word和Excel的Range对象。对于Office开发,可以在对底层小粒度对象一无所知的状况下做很多事情,这就是抽象的力量。常人可以处理的复杂度是有限的,面对数十个对象和几百个对象,后者需要付出的努力不是10倍,而是数十倍或更多,因为在学习过程中,必须可以把这些对象在大脑中很好的组织,以控制其复杂度。

Visual Basic for Applications(简称VBA)是新一代标准宏语言,是基于Visual Basic for Windows 发展而来的。它与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法。而VBA 提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。VBA 易于学习掌握,可以使用宏记录器记录用户的各种操作并将其转换为VBA 程序代码。这样用户可以容易地将日常工作转换为VBA 程序代码,使工作自动化。因此,对于在工作中需要经常使用Office 套装软件的用户,学用VBA 有助于使工作自动化,提高工作效率。另外,由于VBA 可以直接应用Office 套装软件的各项强大功能,所以对于程序设计人员的程序设计和开发更加方便快捷。

3.无基础学VBA,难不难

学编程最主要的不是编程难不难,而是你有没有足够的兴趣来学习。

学习过程中最重要的是实践,学而致用才能明白道理。

1:推荐你先看一下《VBA其实很简单》这本书,百度上能搜到PDF电子版的,由于回答限制,我这里就不给你放出链接了。

2:学习过程中要根据步骤一步一步来,看看代码是怎么运行的,具体情况书里解释的比我说的生动好学的多。

3:小有所成后要多去练,记不住函数没关系,善用搜索引擎和论坛或者知道提问。

4:不知道代码该怎么写的时候可以先录制宏,然后再去看看录制宏代码是怎么运行的,再把代码精简或者修改成自己的代码

5:按照初中文化水平来算的话,入门最多不超过一周。一楼说一天学会的估计是高材生或者有资深的编程语言基础。我想会VBA的没一个人说自己完全学会了,学无止境,总有新知识是你学不到的,但是你所学的东西能满足你现在使用就已经达到学习的初衷

4.先学习VB好还是学习VBA好

1. VBA与VB比起来也就多了个A,VB自然代表VB语言,A代表宿主程序提供的对像库,如EXCEL提供的Application,也可称为接口,vb语言是通过它处理EXCEL文档的。

2. 而网上能找到的关于VBA的教材都以介绍A为主,关于语法的问题是属于VB语言事,所以自然先学VB了。

3. 学好了VB,对EXCEL VBA ,用不着再系统的学习了,粗略了解一下EXCEL的对象库就可以

4. 还有,对机械专业更适合VB, EXCEL VBA 只局限于处理一些表格数据,比如定时采集某些仪器数据,并在窗口上动态的显示曲线图(像心电图那样),EXCEL VBA明显不好处理。反过来VB即使不打开EXCEL程序也能处理EXCEL表格。