vba编程入门教程:
1、打开vba编辑器
打开vba编辑器有下边三种方法供大家使用:
方法1:点击excel菜单中的【开发工具】,然后在代码选项卡中点击【Visual Basic】 即可,如下图所示:
方法2:右击excel左下角【Sheet1】,在d出的菜单中点击【查看代码】即可,如陆好下图所示:
2、编写第一个vba程序
步骤:通过上边的方法打开vba编辑器。
在第一个下拉菜单中选中【worksheet】,在第二个下拉菜单中选中【BeforeDoubleClick】(BeforeDoubleClick的意思是在本工作表鼠标双击之前发生)。
然后编辑器中会自动生成两行代码,我们在两行代码之间写入自己的代码即可。比如我们晌悉启输入:“Sheet1.Cells(2, 3) = Sheet1.Cells(2, 1) + Sheet1.Cells(2, 2)”。意思是当我们鼠标双击时触发,第二行第三列的单元将显示第二行第一列和第二行第二列的和。
VBA的英文全称是Visual Basic for Applications,是一门标准的宏语言。VBA语言不能单独运行,只能被office软件(如:Word、Excel等)所调用。
VBA是一种面向对象的解释性语言,通常使用来实现Excel中没有提供的功能、编写自定义函数、实现自动化功宴如能等。
Excel VBA教程是把VB编程应用在Excel平台的一套实用教程,Excel +VBA双剑合壁,他可以帮助我们实现Excel原本实现不了的功能,可以让工作变得更高效,可以让 *** 作变得变方便,可以把重复性的 *** 作变得更有趣,随心所欲的定制自己的工作平台,还可以针对企业来开发各种系统如,人事管理系统、仓库系统、进存销系统等,对于经常要处理大量数据工作的朋友,学会了这套VBA教程你的工作将游刃有余。
VBA代表Visual Basic for Applications,它是一个来自Microsoft的事件驱动的编程语言。 现在它主要用于Microsoft Office应用程序,如MSExcel,MS-Word和MS-Access。本教程将讲解VBA的基础知识。每个部分都包含相关的主题和简单有用的示例。
为什么使用VBA?
为什么需要使用VBA在Excel中为MS-Excel本身提供了内置功能。MS-Excel提供了唯一的基本内在功能(函数),但是不足以执行复杂的计算。在这些情况下,VBA变成一种最明显好的解决方案。
一个最好的例子是非常难使用Excel内置计算贷款每月还款数,但使用VBA就很容易编写实现这样计算。
VBA代表返启Visual Basic应用程序,是来自微软的事件驱动编程语言,目前主要有Microsoft Office应用程序,如MS-Excel,MS-Word和MS-Access中使用。
它可以帮助技术人员构建自定义的应用程序和解决方案,以增强这些应用程序的功能。这个设计的好处是,我们不必把Visual Basic安装我们的PC上,但安装Office将隐帮助我们达到目的。
可以在所有Office版本(从微软Office97至微软Office2016)直接使用最新版本VBA。其中Excel的VBA是最流行的一种,并且我们可以建立在MS Excel中使用VBA非常强大的工具,包括使用线性程序。
读者
这个VBA教程是为初学者准备的,帮燃纳助他们理解VBA的基础知识。本教程中提供足够的VBA理解,可以通过此教程获取更高层次的专业知识。
前提条件
在继续本教程之前,需要安装MS Office,尤其是MS-Excel,还应该对计算机编程术语有基本的了解。有任何编程语言的基本了解将有助于您了解VBA编程中的概念,并能让您能快速学习和上手。
问题反馈
我们不能保证您在此VBA教程中不会遇到任何问题。本教漏段如程中的讲解,示例和代码等只是根据作者的理解来概括写出。由于作者水平和能力有限,因此不能保证所有的编写文章和示例均能准确无误。但是如果有遇到任何错误或问题,请反馈给我们,我们会及时纠正以方便后继读者阅读。
Sub main()
Set dic = CreateObject("scripting.dictionary")
arr = Range("A1").CurrentRegion
For i = 1 To UBound(arr)
If dic.exists(arr(i, 2)) = False Then
dic(arr(i, 2)) = arr(i, 1)
Else
If dic(arr(i, 2)) <arr(i, 1) Then
dic.Remove arr(i, 2)
dic(arr(i, 2)) = arr(i, 1)
End If
End If
Next i
[E1].Resize(dic.Count, 1) = Application.Transpose(dic.keys)
[D1].Resize(dic.Count, 1) = Application.Transpose(dic.items)
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)