EXCEL中自带的VBA和VB区别为:性质不同、运行依赖性不同、独立性不同。
一、性质不同
1、VBA:VBA是VB的一个子集,是使已有的应用程序(EXCEL)自动化。
2、VB:VB是设计用于创建应用程序(EXCEL)标准的应用程序。
二、运行依赖性不同
1、VBA:运行VBA开发的程序必须依赖于它的父应用程序。
2、VB:运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件。
三、独立性不同
1、VBA:VBA独立性差,必须寄生于已有的应用程序。
2、VB:VB独立性强,具有自己的开发环境。
VB是是一种编程语言。VBA主要VB是office上的应用,VB.net可以说是VB的最新版本,如果就是业余或者刚入门的话,语法什么的和VB几乎完全一样。只是语法上面,要求比VB要求规范,比方说VB6.0里面Text1="1"读的出来,VB.net就会报错,一定要textbox1.text="1"才可以。对于初学者来说,VB.net这种规范要求有益无害。
如果你想学的话,最好学VB.net,一来功能强,二来,能帮助你学习基本概念。比方说我学VB的时候,什么是类一点概念都没有。都是学了.net之后才懂得。三来么,学会了VB.net.学其他都很方便的。
但是如果就是用用excel的话么,VBA就可以了。不过说句老实话,光学VBA的话,很多东西理解起来比较难。我是最后学VBA的,看了书一个礼拜之后就能随便编了。但是书上很多代码的,我猜如果没有VB基础,估计看不懂
VBA是VB的子集,相当于VBScipt与VB的关系
Office自带VBA,作为宏处理……
当年的标准答案:
VBA是什么
直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言VASUAL BASIC 的子集.实际上VBA是"寄生于"VB应用程序的版本.VBA和VB的区别包括如下几个方面:
1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL等)自动化
2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序.
3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的"父"应用程序,例如EXCEL.
尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在EXCEL中用VBA创建解决方案后,即已具备在WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用VBA创建解决方案的大部分知识.
* VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化.
* VBA可以称作EXCEL的"遥控器".
VBA究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案.
此外,如果你愿意,还可以将EXCEL用做开发平台实现应用程序.
1.2 EXCEL环境中基于应用程序自动化的优点
VBA的全名是Visual Basic for Applications ,VB则是Visual Basic,后者是单纯包装及执行的程序语言,目前最新版本为.NET,前者则是内含与office各软件的宏语言,二者差异如下:
编译执行文件:执行文件的扩展名为EXE,VB由于内含编译器,故可制作EXE文件。VBA则由于内含于office系列各软件内,且不提供编译器,故VBA程序只可依附于各软件而执行,无法制作执行文件。
可用的资源:也就是程序内可引用的资源,包括对象、函数等。VB在此方面的资源较VBA为广,因二者比较 ,VB方面是较专业的程序设计语言,而VBA的目的则是强化Office应用系统,故在可用资源方面,VBA不及VB。
基本语法:VBA及VB语法完全相同,故只要稍有Basic基础,即可使用VBA。
说明:所以VBA可以说是“内置于各软件的Basic语法”,且加以统一,即只要学会使用Basic,再了解各软件拥有的对象,如ACCESS为数据库(Database)、Excel有活页簿(Workbook)、工作表(Sheet)、单元格(Range)、Word有文件(Document)等,这些对象的目的就是在程序内针对文件进行自动处理。
VBA是OFFICE中自带的编程语言,而VB是独立的开发程序,也可以说,VBA是VB的一个子集,两者代码的编写规则基本相同