VBA 在vba中inputbox用法输入数据后连续做多个判断怎么编

Excel VBA 如何快速学习?
按投票排序
最讨巧的方式是:1)对想实现的功能手工操作一遍,同时录制宏2)根据录制的宏,更改参数及简单修改代码(加IF或者For循环)。下图是我写的第一个VBA代码,准确说是拿Macro录制后改出来的。详情见3)搜索引擎各种查,加上根据VBA的提示各种改。具体教程和案例,可以关注这个:————————————————————更多文章关注我的专栏:
''''''''''''''''' 以下所有文字均为答主手敲,转载请注明出处和作者 '''''''''''''''''' 如有条件的话,可以遵循以下的步骤学习:1) 理解基本的语法,上机练习简单的操作2) 反复阅读理解有经验人士的代码3) 对于一些简单的需求,可以试着自己解决4) 对于VBA而言,同一个目标可以有很多实现方法。故同样的需求,可比较别人的实现方法和自己的实现方法,并加以比较评判5) 随着学习的深入,评判、重写自己的代码'''''''''''''''''''''''''''''''''''''''' 我是正文 ''''''''''''''''''''''''''''''''''''''''1. 一点历史VBA,全称Visual Basic for Applications。从名称上看,至少包含了3个历史阶段的产物,依次是- BASIC- Visual Basic- Visual Basic for ApplicationsBASIC是一门古老的计算机语言,首次发表于1964年。BASIC语言贴近于英语语法,使用者也不需要对计算机硬件知识(尤其是内存管理)有很多了解,故对于非专业程序员,也能极为迅速的上手。使用BASIC,计算机上需要安装一个叫“BASIC解释器”的软件,将BASIC程序代码翻译为计算机能够识别的机器指令。同时,BASIC解释器通常带有一个文本编辑环境供输入代码。随着个人电脑的普及,BASIC解释器通常是作为预装软件出现,故用户开机就能用上BASIC。用于MITS Altair 8800型个人电脑的BASIC解释器是微软公司的第一个产品,由比尔盖茨等微软创始人亲自开发。此后,微软的DOS和Windows 3系列、Windows 9X系列都预装了BASIC解释器(称为QBasic)。从Windows 2000开始QBasic不再预装,但是QBasic仍然可以运行于Windows 10之上(只限32位)。QBasic 运行于Windows 10从BASIC的历史可以看出,这门语言本来就是为非计算机专业人士准备的,而且微软公司与之有不解的渊源。之后的发展也是如此。计算机软件进入到图形用户界面时代,微软公司开发了可以编写Windows图形应用程序的新语言Visual Basic以及对应的开发软件Visual Basic IDE(所以Visual Basic既指一门语言又指微软为此提供的开发软件)。新语言Visual Basic继承了BASIC语言的关键字和语法,仍然保持易学易用的风格。尽管Visual Basic解释器是Windows操作系统的一部分,然而想用Visual Basic开发软件,仍然需要独立购买和安装Visual Basic IDE。最后一个非.Net版本的 Visual Basic,即 Visual Basic 6 (1998)运行于Windows 101996年,微软开发了Visual Basic Scripting Edition(即VBScript)。顾名思义,VBScript适合快速书写类似批处理的脚本。VBScript的语法与Visual Basic一致。直到今天,Windows依然内置了VBScript解释器,以及能够直接解释文本代码的Windows脚本宿主。所以使用VBScript无需另外投资。微软的Office系列产品同样集成了VBScript解释器,并提供了语言操控Office软件本身的能力。这个VBScript被称之为Visual Basic for Applications(即VBA)。所有Office软件都集成了VBA的解释器和集成开发环境(类似于一个简化版的Visual Basic IDE)。换句话说不仅在Excel里,Word、PowerPoint也可以用VBA。VBA的运行环境称之为宿主(Host)。比如,你在Excel里面使用了VBA,那么Excel就是宿主。这个概念也适用于VBScript,对应的宿主可以认为是Windows本身(实际上是Windows的一个组件:Windows脚本宿主WSH)。那么从VBA的历史上我们可以看到,它实际上是由两部分组成的:一个是语言本身的特性,另外一个是宿主提供的功能。语言本身具有通用性,而宿主相关的部分和不同的宿主有关。这篇文章也会对应的分为两个部分,即通用的VBScript和Excel VBA。2. 学习VBScript学习VBScript,你只需要Windows系统本身。我们使用的工具是系统自带的命令提示符、记事本和Windows脚本宿主。2.1 环境首先我们建一个工作目录。以下两种操作均可:1.新建一个文件夹,按住Shift然后鼠标右击,选择“在命令提示符中打开”2.按Windows +R,输入cmd,回车。例如想建立的工作目录为 C:\Work,那么就输入mkdir C:\Work
cd C:\Work
以下假设我们的工作目录是C:\Work。接下来可以写程序了。在命令提示符下输入notepad hello.vbs
当记事本提示你创建新文件时,选择“是”比如我们写一个从1加到100的程序。在记事本里输入dim i,sum
for i = 1 to 100
sum = sum + i
wsh.echo sum
按Ctrl+S保存。回到命令提示符,输入cscript hello.vbs
命令提示符会输出一些版本信息,然后会出现结果5050。如果嫌版本信息太罗嗦,就加一个/nologo的选项:cscript /nologo hello.vbs
因为Windows对扩展名为.vbs的文件进行了绑定,所以也可以直接运行hello.vbs
输出的形式略有不同,稍后解释。2.2 基本语法变量:与数学上的变量意义相同。变量用来存储数据。变量不得使用数字作为开头,原则上不要使用中文作为变量的名字。应使用字母和数字、下划线,例如sum、my_result_0等都可以。字面量:在代码中可见的数据,例如整数、小数和双引号包裹、可由任意字符组成的字符串。如100、"Hello"、"标题"等。运算:与数学上的运算意义相同。关键字:VBScript自带的命令符号,不得用于变量名称。VBScript不区分大小写。通常第一个字母大写。注释:单引号'直到行尾的所有内容,VBScript均予以忽略。声明一个变量使用Dim关键字。尽管变量在第一次赋值的时候会自动声明,但努力养成明确声明变量的好习惯。'我是注释
dim x '声明了变量x
dim i,j '声明了变量i和j
用操作符=给变量赋值。=右侧的表达式将被求值,然后赋予=左侧的变量可以把字面量、运算的结果或者函数返回的值赋给变量。=赋值只适用于整数、字符串等简单类型的赋值。Option Explicit '强制要求变量使用之前必须声明
dim my_result
my_result = 1 '赋予字面量1
'获得函数的返回值
my_result = InputBox("输入一个数字","我的程序")
my_result = my_result * 2 '获得运算的结果
WScript.echo my_result
函数与数学上的多元函数意义相同。函数需要零个或多个参数,返回一个运算的结果。上面的代码在调用一个函数InputBox,并赋予其2个字符串参数,以逗号隔开。当不需要返回值时,括号可以省略。InputBox是VBScript的内建函数,而这段代码最后的WScript.echo看起来也是个函数。即WScript.echo(my_result)的简写。这个“函数”并不是VBScript提供的,而是Windows脚本宿主的功能。不得不在这里介绍是因为需要有一个输出数据的方法,而输出数据的方法VBScript本身并没有提供。事实上Windows脚本宿主对WScript.echo的解释也有不同,当用cscript hello.vbs调用脚本宿主时,WScript.echo输出到命令提示符;当用wscript hello.vbs,或者直接运行hello.vbs时,WScript.echo表现为弹出对话框。前面提到的代码都是逐条执行的。而条件分支的含义是根据数据的不同而选择性的执行不同的代码。举例dim age
age = InputBox("输入年龄")
If age & 18 Then
WScript.echo "成年"
WScript.echo "未成年"
关键字 If-Then-Else-End If形成了两个分支,习惯上分支内部的代码最好给予一些空格缩进。If后面的语句是所谓条件表达式。整个表达式会被求值,若为Ture,则运行Then之后的语句后跳至End If,否则跳过Then后面的语句,直接从Else开始直到End If。如果没有Else分支,则直接跳至End If。故Else分支是可选的,当然可以有多个分支:dim age
age = InputBox("输入年龄")
If age & 18
WScript.echo "少年儿童"
ElseIf age & 65 Then
WScript.echo "老年"
WScript.echo "其他"
实际上相当于嵌套的分支:dim age
age = InputBox("输入年龄")
If age & 18
WScript.echo "少年儿童"
If age & 65 Then
WScript.echo "老年"
WScript.echo "其他"
除了分支之外,某一段代码还可以反复执行。最简单的情况,例如打印5个"Hello"dim i
for i = 1 to 5
WScript.echo "Hello",i
关键字 for-to-next创建了一个循环。循环变量i依次赋值为1、2、3、4、5,每次赋值后,for-next之间的代码都会完整执行一次。2.3 获取帮助以上只是谈到了VBScript最最基本的用法,能够覆盖大概60%的常用情景。但完整使用VBScript需要掌握80%的功能。答主极为推荐的Tutorial是下面这个:只需要阅读VBScript Basics的部分,就可以掌握80%。如果遇到了非常疑难的问题,应该参考最权威的官方文档(MSDN):3. 学习Excel VBA对于想要学习Excel VBA的非程序员朋友,可能遇到的最大的一个门槛就是“面向对象编程”的概念。但对于掌握VBA,对“面向对象编程”先能够理解到以下程度就基本OK了:我家有一只宠物猫。这里,宠物是一个类(class),我家的猫是这个类的一个对象(object)。猫是白色的,白色就是这个对象的一个属性(property)。我家猫去做绝育就是设置(property set)该对象的另外一个属性。猫吃罐头是在执行该对象的一个方法(method)。可以认为,Excel以类库(Class Library)的方式扩展了VBScript。在面向对象编程中,对于一个类库有两种使用的方式:1是对类进行继承(例如,类“猫科动物”就是对类“哺乳动物”的继承);2是对类进行例化而形成特定的对象(例如,养一只猫)。对于Excel来说,绝大多数时候在使用第2种方式,即关心如何产生和使用对象。对于某种功能,Excel将其设置为属性还是设置为方法是有讲究的,通常来说,对象自身的特性(标题、尺寸)等会被设置为属性,而涉及对象与其他对象交互的功能会被设置为方法。并不是所有的面向对象系统都如此。本部分我们将设定一个简单的需求:在工作表中创建一个10x10的矩阵,每个元素都是1~100之间的一个随机整数。3.1 环境有两种方式可使用Excel VBA,一个是使用Windows VBS引入Excel对象,一个是在Excel内部编程。前一种的好处是,因为程序在Excel外部,故可以连续处理多个Excel文件。后一种的好处是有一个集成开发环境(Excel VBE)可以使用,便于调试,缺点是代码分散,且Excel必须启用宏。下面分别讨论。3.2 示例第一种方法,仍然使用本文第二部分的环境,用记事本新建一个文件,录入以下代码:Option Explicit
Dim app,workbook,sheet
Dim row,col
Set app = WScript.CreateObject("Excel.Application")
app.Visible = True
Set workbook = app.WorkBooks.Add
Set sheet = workbook.Worksheets(1)
'10x10 random value
For row = 1 To 10
For col = 1 To 10
sheet.Cells(row,col).Value = CInt(Int((100 * Rnd()) + 1))
Set sheet = workbook.Worksheets(2)
'10x10 random value
sheet.Range("A1:J10").Formula = "=Int(Rand() * 100 + 1)"
“WScript.CreateObject("Excel.Application")” 是Windows脚本宿主提供的方法(method)。WScript就是Windows脚本宿主对象,方法在本质上是这个对象的成员函数。当你的电脑中安装了Excel之后,会在系统数据库中注册叫做Excel.Application这样一个服务。换句话说,WScript.CreateObject("Excel.Application")相当于“启动Excel这个软件”注意到这里使用了Set关键字而不是直接赋值,这其中的原因是=只适用于简单数值的赋值,但函数WScript.CreateObject("Excel.Application")的返回值是一个对象句柄。凡对象句柄之间的赋值都要用Set。接下来设置这个app对象的属性Visible为True,意为把Excel程序显示出来。如果批量处理很多文件,则不用设置这个属性,程序将在后台运行,不会跳出很多Excel来。我们知道启动Excel时会自动新建一个工作簿(WorkBook),但编程创建的App对象不会这么做。实际上,一台电脑(严格的说,是一个登录用户)中所有正在打开的工作簿构成了一个工作簿集合。在VBA里面多个同类的对象通常被归拢到一个集合(collection)当中,而集合本身也是一个对象。在Excel VBA中有各种各样的集合,工作簿集合、工作表集合、图形集合等。对于集合对象有一些统一的方法,例如Add方法的含义是,在该集合中添加一个对象,并返回它。那么Set workbook = app.WorkBooks.Add这句话执行后,Excel就创建了一个新的WorkBook,程序获得了一个workbook对象。每一个workbook对象在创立后,它的WorkSheets集合会自动添加3个工作表(如同Excel新建工作簿一样)可以通过调用worksheets方法来得到某个工作表。(注:Excel 2013以及后续,workbook对象在创立后只会自动添加一个工作表)对于第一个工作表,我们设置了两重循环为10x10的矩阵设置随机值。CInt()、Int()和Rnd()函数是VBScript内建函数,具体用法可查阅MSDN。对于第二个工作表,我们利用Excel自带的公式得到随机值。这就是所谓“达成同样的目标有不同的方法”。以上我们的代码都在Excel外部运行。Excel内部有VBA的集成开发环境,仍然以随机数为例:在Excel中按Alt+F11组合键呼出集成开发环境。左侧的工程管理窗口会列出所有打开的工作簿,每一个工作簿对应一个VBAProject。每个VBAProject下除了列出所有的工作表独有的代码之外,还有一个ThisWorkbook的项目文件,代表这个工作薄范围内的代码。除此之外,VBAProject还可能有窗体、用户自己开发的类等等。Excel 2013 Visual Basic for Applications Develop Environment,与Visual Basic 6非常相似。Excel 2016 Visual Basic 编辑器(微软:对你们苹果用户做到这份儿已经够意思了,要啥自行车啊)。我们将代码放进ThisWorkbook中。这个代码被一个Sub子过程包裹,名字是我们自己起的。这段代码和刚才的代码稍有不同,首先,对于一个句柄变量,声明时最好指定它的类型,其次,由于代码已经位于Workbook内部,故无需创建Excel进程、也无需创建workbook对象。Worksheets成为“内建函数”。而CInt等VBScript内建函数此处仍可以使用。按F5,由于整个代码块只有一个子过程,该唯一子过程会立即执行。如果关闭了VBA集成开发环境,则可以在Excel菜单中执行“运行宏”来执行这段代码。最后,由于Excel的安全策略,含有代码的文件需要保存为.xlsm格式。3.3 获得帮助学习Excel VBA较为正规的图书是 John Green的 Excel 2007 VBA Programmer's Reference,中文版由Excel Home翻译为《Excel 2007 VBA参考大全》。这本书应至少阅读完前7章。阅读完前4章即可以尝试解决工作中遇到的问题了。MSDN的 相当于一本“词典”,经常翻阅非常有好处。4 写在最后经常使用Excel的人士普遍对Excel公式掌握的出神入化,但Excel VBA却遵循着不一样的思维方式——它更接近于Excel软件自身的运行规律,而不是数据层面的特点。VBScript和Excel VBA的系统性非常强,一本系统性强、例子丰富的书籍必不可少,MSDN乃居家必备。当然搜索引擎也是一个好助手,把你的问题用英文表述直接Google,通常会获取丰富的答案。不能访问Google也很难科学上网的朋友可以试试
,aol的搜索后端是Google提供的。众所周知,百度的中文技术资源质量一向低下(),因此:无论任何时刻都不要使用百度无论任何时刻都不要使用百度无论任何时刻都不要使用百度无论任何时刻都不要使用百度无论任何时刻都不要使用百度(特别重要的事情说5遍)
看这本:知道了基本的VBA语法和事件相关的知识后,就去观察自己日常使用Excel的过程。只要某一个操作被重复执行了三次以上,就写VBA去自动化这个操作。如果不会写怎么办? 上面这书一开始就教了一个万能的大招,『录制宏』!看宏代码,优化它!不断地重复上面的过程,自然而然的就会了。而且你一直在解决你遇到的问题,不断地把自己从重复劳动中解放出来,这不正是计算机的最大作用吗?
学习VBA的目的是为了实际应用,所以最好能够在实践中学习,采用问题驱动的方法学习,效率更高。1.首先要理解VBA的语言逻辑:要先对变量进行定义,让计算机识别这些变量。常见的格式为Dim A as B, 其中A是你要用到的变量名称,而B则是这个变量的类型,如string是文本型的,integer是整数,long是范围比较广的整数,variant则意味着计算机会自动匹配数据类型。然后,VBA是采用事件驱动的,基本语法为A.B a,b,c,...其中A 为对象,可以是你在上面定义的变量,也可以是内置的对象,如worksheets(1)之类的。而B表示一个动作,如open,close之类的,而后面的a,b,c...则是这个动作附加的条件,如路径,密码,只读,这些都可以选的。最后,当程序运行之前,要debug,查找bug,从代码的第一句到最后一句,慢慢的读,将自己想象成笨拙的计算机,如果代码没问题的话,整个过程应该就像高山流水一般自然顺畅。2.初学者可以用下面这篇文章入门,相当通俗易懂。3.要善于运用excel的录制宏功能,许多操作都可以通过录制宏的方式找到,免去了记忆那些代码的辛苦。只是录制出的代码比较繁琐,会有一些没有用处的句子,可以自己删去。4.遇到不懂的句子要善于运用F1,只需选中相应的部分,按F1,就有详细的解释。5.上述方法还不能解决问题的话,果断百度吧。6.就我个人感觉,学不学VB对于VBA没有显著影响。
有人推荐《别怕》这本书,但是我觉得这本书过于通俗化:大家的理解力其实没那么差。EXCELHOME论坛的VBA版块,有常用VBA技巧,可以下载下来,自己试着去敲代码。等有了基础的认知后,可以买本系统的VBA进阶教程。
1.找本教材,对照着练习。推荐这本下一步这本2.日常工作中遇到处理大型运算、重复操作、简化公式等问题设法用VBA解决。3.多使用Excel自带帮助功能或者在Excelhome论坛查找你需要的答案。
泻药 。。。。。赞同的答案——多练习,在实战中学习;掌握语法,理解Excel对象库,是必须要经历的学习阶段。除此之外,根据个人经验,了解一点VBA的背景知识对学习编程也是有帮助的。例如,维基百科上VBA条目()就介绍得很简洁、到位。喜欢八卦的话,看看这篇对于VBA我很欣赏的一点是:它以让普通的Office用户能随时随地编程为目标。VBA让代码和数据(文档)始终在一处,并在Office组件里内置开发工具,这些举措都很好地契合了产品的设计目标。微软的许多开发工具都是以专业编程人员为目标人群,连Windows Batch这样最应该大众化的工具,其语法都被搞得晦涩难懂,令人望而却步;在我视野范围里,只有VBA是专门面向普通用户的编程工具。
搭建系统知识结构不管是学习vba还是其他编程知识,或者其他技能,最重要的是快速搭建自己对这门知识的系统思维和框架。不管是看书;还是通过视频学习;最重要的是要选定一本或者一个课程,从头到尾不中断地学习,不要再太多的书籍或者课程中来回切换,要坚持系统地学习完一本书。这样才能很快建立起对这门语言的系统思维,建立之后才可以往更深的地方学习和运用。找到兴趣小组和同类学好一门编程语言,首先要做到以下20点:1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久都是只对部分功能熟悉而已,不系统还是不够的。3.看帮助,不要因为很难而自己是初学者所以就不看;帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,总觉得不够直观。4.不要被对象、属性、方法等词汇所迷惑;最根本的是先了解最基础知识。5.不要放过任何一个看上去很简单的小问题--他们往往并不那么简单,或者可以引伸出很多知识点;不会举一反三你就永远学不会。6.知道一点东西,并不能说明你会写脚本,脚本是需要经验积累的。7.学脚本并不难,JSP、ASP、PHP等等也--难的是长期坚持实践和不遗余力的博览群书;8.看再多的书是学不全脚本的,要多实践9.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;10.学习脚本最好的方法之一就是多练习;11.在任何时刻都不要认为自己手中的书已经足够了;12.看得懂的书,请仔细看;看不懂的书,请硬着头皮看;13.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;14.请把书上的例子亲手到电脑上实践,即使配套光盘中有源文件;15.把在书中看到的有意义的例子扩充;并将其切实的运用到自己的工作中;16.不要漏掉书中任何一个练习——请全部做完并记录下思路;17.当你用脚本到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个代码的完整性,然后分析自己的错误并重新编写和工作。18.别心急,写脚本确实不容易;水平是在不断的实践中完善和发展的;19.每学到一个脚本难点的时候,尝试着对别人讲解这个知识点并让他理解----你能讲清楚才说明你真的理解了;20.记录下在和别人交流时发现的自己忽视或不理解的知识点;
如果你完全0基础,建议你先学VB语法,然后再学习excel组件里面的基本对象,比如sheet,range等。然后,要是想快速掌握,只有自己亲手做做。不会的时候搜索一下基本都能找到代码案例。如果问题很偏门根本搜不到案例,可以去excelhome这个论坛去提问。
说一下我的情况,也比较不具有代表性。Excel VBA这东西,想做可以做出很多具有程序级别的东东来,我碰到过的大神是可以用vba写出项目进度管理用的那种进度跟踪工具,还有运用vba+vbs+wsh()写出调用各种其他程序接口(比如浏览器)去执行自动化脚本的。之后我明白了,凡事电脑上可以用鼠标+键盘完成的工作,vba都可以做到。我没有看任何的vba教材,我觉得快速学习vba的一个好办法,就是先给自己设定一个目标,想要实现什么功能,然后去找一份已经实现这个功能或者相近实现自己想要功能的vba代码。直接看的别人写好的vba程序,代码一行一行看过去的。一旦碰到不明白的语法或者函数,马上谷歌或者百度查找。直到把程序是要干啥的看懂为止,然后运用自己已经看懂的去实现自己想要的效果,这样子做虽然没有看书一步一步的学过去系统,但是就达到自己想要的目的而言,是一个捷径。差不多2周之后就能自己写vba了。然后平时在多看看一些好的vba论坛,再加以系统学习,就可以学的还不错了。由于我的vba技巧跟知识都是从日文网站上学习的,所以没有可推荐性(除非懂日文),如果懂日文,会发现日文写的vba教程都非常的详细,几乎每一篇都是站在学习者是零基础的角度来写的教材。。。我用VBA最常用到的是查找跟匹配。所以我认为vba的重点在Find函数以及正则表达式上。呵呵,个人情况分享,不具有代表性,这是我写的关于vba的几篇小材料,欢迎交流:,不定期更新。
干中学,学中干。我基本上没有怎么学过VBA,仅仅只有一些Basic语言的基础,以及大学计算机课上的一些微末的VB知识(基本上不记得学过啥了)我对对象没有理解,对类也不理解。当我有什么需求的时候,我就会去百度,比如要实现某个需求,应该使用什么语句。干中学,学中干。其实很多东西都是在这种场景下学会的。比如while do语句,do until语句;(for next 语句是最早的,当然不算了)j在整个过程当中,会不断发现新的东西。会有一种探索的感觉。我自己也买过VBA的书,没用,根本不看。我个人认为:从基础开始学起,万丈高楼平地起,一步一个脚印是传统的学习方法。这种方法最大的好处是让你的知识成为一个系统,尽可能减少遗缺。但是会很烦闷。但是反过来,我们从上往下学。可能可以让整个过程变得更加有趣一些。(你会让你的学习从一开始就能见效,这是激励一个人不断学习的有效方法)
学习几个常用的语句和对象的表示方法,目的是看得懂。然后就是实践,通过录制宏或者修改别人的VB语句得到自己需要的结果。
录制宏、修改宏挺取巧的,符合快准狠的诉求。
正好这半年用了很多VBA:1. 那本《别怕》买来后看了觉得没什么太大的用处,光光解释了一些初级的语句和函数,没怎么讲算法和编程的思路。实用性太低,觉得看完该不会的还是不会,对初学者并不user friendly2. 建议直接去买一本讲VB的书,先把VB这种语言学会,找那种例子多一点的书。注意这里说的不是一段一段的语句,而是一个一个有完整功能的project的例子的书。先看,看懂后尝试自己去再现这个project,吃透一个了再去学下一个3. 等到完全把VB这种语言学会了,你就学会了VBA的后端的使用,那么随便找一本书,甚至随便看看别人的程序,结合百度,以及录制宏后看代码,就能很快学会前端的语句4. 我自己就是高中学了很多VB,五六年后在工作中需要VBA了再去重新捡起来,看那本《别怕》看得云里雾里,反而感觉是看别人写的程序学得更快5. 其实要把Excel VBA用好,最好是把Access也学一下,把database转存,能有效避免后期速度越来越慢的问题
总算可以回答这个问题了。。自从之前看了关于excel的这个回答。( ⊙ o ⊙ )觉得自己之前简历还写精通office啥的简直不能更傻。迅速从头开始学习到现在进阶到了vba。刚开始最好不要看书,书里的东西太过磨叽,简单粗暴的主需要几点:1.了解对象,属性,方法,事件,模块,类模块,窗体,等概念。了解变量的类型。2.了解工作表,工作簿,单元格,等表示方法。3.了解循环和判断语句和msgbox。4.知道怎么录制宏。5.知道常用的一些控件,标签,文本框,复选框,多页,combobox,listview等,知道这些窗体的常用属性等。以上几点会了就足够玩出很多花样了。像做个生日提醒,做了人事管理,工资表自动制作和拆分啥的,总之基本的需要基本可以满足。像什么find语句查找筛选定位什么的我是没特意记,想用的时候直接就录制宏然后拷贝有用语句。。之后如果再想进阶可以看看数组,学学优化下速度,菜单栏更改添加,还有正则表达式啥的。以上,我最初看了兰色幻想的vba80集,但是个人感觉那个课程顺序并不好。但是课程的东西还算挺全面的。还有excel论坛的VBA常用代码只看这两个足够满足一般需求了。
就一个字,干。 有什么问题就尝试去解决啊,用宏录制器把一些常用的操作录一遍就知道了。再就是看它自己的帮助文档也很有用。不要老想什么快速学习的事,用得多了,解决的问题多了,自然就熟悉了。否则都不知道有哪些问题要解决,卯着学效率也不高。
先最好有一点点的编程基础。例如Visual Basic,或者Python,我认为,掌握一门编程语言是非常有用的技能。然后学习VBA中一些例如if,for,while的使用区别,学习录制录制宏。然后,你的主要的宏的代码主要来源是1. google,stackoverflow2. 你自己录制的宏然后慢慢修改,保存自己的代码以后复用。
被分配到一门相关的课(比如introduction to excel and vba programming)的TA
我是之前学过VB,当时学得挺认真,vba只是听说过,昨天晚上需要用vba处理一下excel数据(数据量比较大),我看的是这本书
,早上又看了一会儿,中午已经用vba实现了自己想要的功能如果懂VB语法的话大概浏览完这本书(共400页左右,操作性的比较多,看的时候可以跳着看,后边会讲一些设计窗体等的用户交互性比较好的应用,不想看的话也可以),半天就可以写一些简单的需要自动化的常用操作,但是重要的是VB学得好一些,对对象,属性,方法,事件驱动这些理解了,学一些和excel有关的新概念就可以来写程序了
1,有兴趣,想用VBA解决一些实际的问题2,去网上搜搜教材,一大把,都差不多,看完并且做过例子之后基本就能开始动手干活了3,遇到问题多百度,基本都有答案
已有帐号?
无法登录?
社交帐号登录}

我要回帖

更多关于 vba inputbox 换行 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信