中企动力 > 商学院 > excel vba教程
  • ?

    excel办公小技巧:vba使用sql语句获取excel表格数据教程

    约书亚

    展开

    在excel办公中,用VBA加上SQL语句实现对excel表格的数据获取,对于处理一些大数据量的表格来说是非常实用的。SQL是结构化查询语言,是数据库开发中用的程序设计语言,数据库里的数据表跟EXCEL里的表格其实是很类似的,所以用VBA加SQL语句可以实现类似的表格查询操作。

    举个例子:在EXCEL里用VBA+SQL来查询总成绩大于290分的学生

    一、手工操作的步骤是:

    1、 EXCEL打开如下表格,点击插入-数据透视图,点击创建数据透视图

    2、 在出现的数据透视图界面,点击姓名为行标签,点击成绩为求和项字段

    3、 在左侧的出现的行标签和求和项表格数据进行排序,手工选出成绩大于290分的记录。

    用上面的数据透视图方法很方便,步骤也少,比分类汇总功能要简便些。

    二、VBA加上SQL语句实现EXCEL表格数据的查询

    1、 先用EXCEL打开表格,调出VBE工程界面(ALT+F11),建议在个人工作簿新建个模块,把代码输入到右侧的区域。注:用个人工作簿的好处是,每次启动EXCEL不用手动启用宏。

    2、 根据自己的表格字段和功能需求,修改好SQL代码后,保存按F5快捷键运行。注:SQL语句中表名要用[表名$]这种写法。

    以上是在EXCEL用VBA加SQL语句实现对表格的自动查询,调用的方法是按ALT+F8,选择相应的代码名称,这里的名称是SQL查询。用这种方法对于规则不经常变动的情况下使用很实用,特别是在数据量大的情况下。

    附上截图代码

    Sub SQL查询()

    Dim cnn As Object, rs As Object, SQL As String

    Set cnn = CreateObject("adodb.connection") '创建数据库连接

    cnn.Open "Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & ActiveWorkbook.FullName

    Set rs = CreateObject("adodb.recordset") '创建一个数据集

    SQL = "select 姓名,sum(成绩) from [原始数据$] group by 姓名 HAVING sum(成绩)>290" '设置SQL查询语句,这个根据实际需要改写,注意【表名$】这种写法

    Set rs = cnn.Execute(SQL) '执行查询

    ActiveWorkbook.Worksheets(2).Cells.ClearContents

    Dim i As Integer

    For i = 1 To rs.Fields.Count

    ActiveWorkbook.Worksheets(2).Cells(1, i) = rs.Fields(i - 1).Name '填写标题到表2

    Next

    ActiveWorkbook.Worksheets(2).Range("a2").CopyFromRecordset rs '复制记录集到表2

    rs.Close

    Set rs = Nothing

    cnn.Close

    Set cnn = Nothing

    End Sub

    对于EXCEL2007版本的电子表格,以上的cnn.Open后的字符串要改成"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ActiveWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=YES"";"""

  • ?

    软件办公 VBA的使用可以让excel成为一个系统级工具

    书香气

    展开

    做为办公室人员,白领一簇,如果说不会使用OFFICE办公软件那真的是一个不合格的办公白簇呀,而办公软件的微软套件中,以word和Excel最为常用,PPT最为专注而称,对于Word来说,专注于文字处理,这个可以说都知道会用就行了,如果想把Word做的非常好,也只是美化的一些问题了,技术性还不是很强的,而其中的PPT就是演示软件,多为专注软件,也是美化而有特点为专。这么说过来。Excel最为有技术性,也是使用最多的一个软件了。它的强大可以说成为公司必备的一个软件。如果能把它使用好,可以达到一个系统级工具。是不是不太相信呢?

    Excel是一个称做为电子表格的软件,它有很强大的数据处理能力,特别在当代这个电子商务时代,大数据是所有公司都非常看重的,而Excel就有这相强大的功能,而简单的处理数据就显的它还不是更强大的,其它加上VBA的使用,它可以达到一个系统级的工具,包括什么进销存的统计,收银系统,仓储管理系统等等都可以使用它来做出来,就是的,使用Excel可以直接做出来的。是不是不敢想象呀。而它真的能胜任,并且可以做的非常的好。并且操作简单。

    excel

    做为一个非常成功的办公办件,Excel真的是强大的让人信服,对于一些技术控来说,利用VBA可以把Excel的功能充分的挖出来,让它成为一个公司的系统工具,可以积成一般小公司的财务,仓储,考勤,以及工资的发放,员工福利的制作等等。只给你想得到,它都可以做得到,当然了,它是以数据为基础的,文字性的东西,还是交给Word来处理吧。通过充分利用Excel的功能开发,可以让公司的一切数据集大成于一个文件,以方便以后的统计,又可以简单工作量,这是非常极好的事情哟。

    拓学工程这里只是给大家一个提醒,一般公司绝对不需要一些很专业的考勤软件,以及财务软件,这些东东大大消费了一个小微公司应该注重的节约成本的理念。更多的钱应该发放给员工,激发员工的斗志,是不是这个样子的呢?希望对大家有所提醒和帮助。更多的Excel的VBA教程,喜欢的朋友可以到网上相关论坛进行学习。如8楼网等,今天就分享到这里吧。学习无涯,拓学工程。2017年11月2日。

    拓学工程网授权忒萌网发布百家号平台、原文地址:http://cnldc/2994.html 欢迎向忒萌网投稿。

  • ?

    VBA实在太强大,太方便了!学会了之后,工作效率快好几倍

    由伟泽

    展开

    一年前我毕业工作,以为Excel只是复制粘贴,调整格式。

    机缘巧合工作恰好是要用到VBA,仿照同事的代码只会写最基本的Function语句:IF...Else...

    四个月前注册账号,那会几乎什么都不懂。虽然写了几个月的Function,但是Sub是毛都不知道,还有就是我也算是0基础。

    四个月(中间两个月去炒股了,想想都后悔。。。),学会的也只是用数组,字典的部分用法。还有部分杂七杂八的东西,有些囫囵吞枣了。

    好歹自己整理了一个大大的文件夹,各种代码都有。脑子里有了一些底子了,算是迈出了第一步。

    VBA的很多部分,特别是数组和字典,还是很容易接受的。VBA数组,我是和函数数组相互印证学习的,感觉比函数数组简单。字典,对我来说,就是高级版的VLOOKUP,所以学习起来没有太多困难。而学会了字典,等于完全掌握了一个对象的学习过程,再学其它的,变得容易很多。。所以可能学习VBA就是要有一个敲门砖,这个砖找对了,门一下子敲开了,路就好走很多。希望你能找到自己的砖。

    只会不是很难的函数。其他的都不懂。听说VBA是学不完的,所以想学到一般的程度。以下几点送给你初学的你

    1:调试

    经常看到新手学习了很长时间的VBA之后仍然不会使用调试功能, 一遇到问题马上就请教他人, 这样不利于自身的成长。调试非常重要, 是学习代码本身

    不可或却的一部分。是诊断, 梳理代码逻辑的过程, 可以避免逻辑错误的重复性发生。善用调试新手很多的问题都可以得到解决, 即可摆脱对他人的依赖性,

    自身又得到长足的进步, 一举两得。

    三个窗口, 三个功能键:

    地方窗口, 立即窗口, 观察窗口, F1(帮助), F2(属性方法), F8(分步执行)

    途中诊断:

    断点, stop 等等。

    2: 分拆

    (1)语句分拆

    长而难懂的句子分拆成基本单元, 利用调试功能一个个解决, 很容易就理解了它的含义。

    如: intRow = Range("A" & Rows.Count).end(xlup).row

    立即窗口: ?Rows.Count

    Range("A" & Rows.Count).Select

    Range("A" & Rows.Count).End(xlup).Select

    ?Range("A" & Rows.Count).End(xlup).row

    用眼睛都可以看到每一步Excel选中的哪个单元格, 那么自然就不难理解了。这个小范例同时揭示了学习程序过程中一个非常重要的方面: 动手尝试。

    (2)子程序分拆

    把一个冗长的程序按照功能拆分成一个个相对独立的子程序来调用, 使得程序具有一定程度的组织性,结构性,规整性大大提高了代码的可维护性,扩展性,

    重用性。这是贯穿程序语言发展的一条主线, 因为它直接指向了程序开发的终极目的之一:开发效率。

    3: 耐心

    学习目的明确 ≠ 急于求成。无论学习目的如何直接和明确, 学习的过程仍然不是一蹴而就的, "捷径"只能是建立在扎实的阶梯式基础上。

    有些新手基本代码还没写利落就开始用界面写"系统", 甚至还没学会调试, 结果是步履维艰, 一步一问, 三步一错, 无以为继。还有的朋友

    学习VBA是为了研究彩票, 还没学习一星期就开始写各种计算方法, 自然处处遇"难", 大挫学习兴趣, 随之放弃。抱着明确的目的学习是好事,

    不管目的是否"明智"(这是另外一个话题), 但明确的目的不等于"急功近利"。学习的进程总是遵循渐进式的规律, 跳跃式的一夜暴富只能是空中楼阁,

    VBA的优缺点是和其设计定位紧密联系的, 是相对于其它对比对象而存在的。抛开定位在其适用范围之外与其它开发语言比较来谈VBA的"缺点", 这种比较本身就是有失偏颇的, 因为它就不是为了开发而设计的,所以也就无所谓什么"缺点"了。

    同样, 基于设计出发点的用途和功能也就不能称之为"优点"了,本身就是干这个用的,又何来优点?但这些的确可以作为VBA的特点。听起来比较混淆,就用2个单词作为标记更容易区分些: Advantage, Feature。其实称谓不重要,也没必要较真分的那么清。重要的是和定位联系起来看待VBA的存在及其特点。

    1:作为程序语言和其他开发语言比较,VBA的特点:

    (1)"天然"强大的输入输出平台

    对着"大黑框框"学程序一学就是几年,太没成就感了,什么样的控件能有Excel强大呀。

    (2)使用便捷

    无需搭建任何环境, IDE,调试器(debugger)齐全;

    Office装机量大,VBA到哪儿基本都可以拿出来用,就像哪部电脑都有浏览器一样,JavaScript随时可以用;

    无需保存,编译,即可运行;代码数据一体化(同时也是"缺点"),发布简单,无需运行环境。

    与其它自动化操纵Office的方式相比, 与COM交互更加容易便捷。

    (3)简单易懂,门槛低,学习周期短

    为了完整性,还是罗列出一些所谓的"缺点"

    2:VBA的"缺点"

    (1)不好封装

    (2)需要宿主解释器的解析,所以速度慢

    (3)安全性差

    (4)无法提供面向对象的结构式编程方式

    (5)单线程

    (6)................................

    概括起来基本上涉及底层,大型应用的方面根本做不到,较为复杂点的应用系统在与数据库结合后并非不能做到,但仍不适合。

    上述"缺点"基本上是脚本语言具有普遍性的"通病", 显然VBA就不是针对完成上述功能而设计的。但相对于寄生于Office的脚本来言,

    VBA是唯一的存在(VSTO不是这样的方式),独此一份没有可以比较的对象,所以优点就无从谈起。

    希望你能找到自己的砖。我还是觉得,VBA和函数一样,多学多练才是王道,杀贴一万,做不了统帅,也能做大将军了。

    1、买本书

    2、看些视频教程,比如网上的 教程 ,视频吃透前面几十集就行了,完全能够满足工作了

    3、最重要的就是多写,多练,多尝试,多F1看帮助文件,推荐用office2010,之后的不带本地帮助文件了,犯错误多了理解记忆的就深刻,Just do it!

    我还是觉得,VBA和函数一样,多学多练才是王道,杀贴一万,做不了统帅,也能做大将军了。

  • ?

    Excel学习之VBA(一)

    亨特斯顿

    展开

    1.如何将【开发工具】选项卡添加到Excel页面

    默认情况下,因为大多数人并不经常用到【开发工具】选项卡,所以微软将其隐藏了起来,打开方式如下:

    1.1.office2010及其以上版本:

    (1).【文件】===》【选项】===》【自定义功能区】===》【主选项卡】===》在功能区的“复选 框”中找到【开发工具】选项,并将其选中

    (2).打开Excel后,在默认界面下,将鼠标移动至任意“选项卡”所在区域,单击右键选择【自定义功能区】===》 【主选项卡】===》在功能区的“复选框”中找到【开发工具】选项,并将其选中

    1.2.office2007版:

    点击【office】===》【Excel选项】===》【常用】===》在功能区找到【开发工具】复选框并将其选中

    说明:如果上述方法无法实现,说明office软件安装过程中没有安装VBA如果仍要使用VBA,建议重新安装office

    2.允许Excel运行VBA

    默认情况下,为避免VBA产生宏病毒污染破坏电脑运行,office禁止了VBA代码的正常运行,要想正常运行VBA,需要先解除禁止,如下:

    2.1.office2010及其以上版本:

    【开发工具】选项卡===》宏安全性===》【宏设置】===》将【启用所有宏】选中===》【确定】===》重启EXcel

    2.2. office2007版:

    【工具】===》【宏】===》【安全性】===》【宏设置】===》将【启用所有宏】选中===》【确定】===》重启EXcel

    3.打开VBE(Visual Basic Editor)

    3.1.快捷键:Alt + F11

    3.2.手动方式:【开发工具】===》【Visual Basic】===》【VBE界面】

    4.开始编写VBA

    和大多数的IDE一样,VBE分为基本的【菜单栏】,【工具栏】,【工程资源管理器】,【属性区域】,【代码区域】以及【状态栏】,一般编写的代码称为“宏”,多个宏又可以组合成一个“模块”,但在【工程资源管理器】中默认情况下是没有模块的,需要通过录制宏或手动插入模块,如下

    4.1. 手动插入模块

    在【工程资源管理器】中的空白区域或选中单击右键===》【添加】===》【模块】

    4.2录制宏

    【开发工具】===》【录制宏】===》命名===》【确定】===》完成一系列表格操作后===》【停止录制】===》【宏】===》点击录制的宏===》【编辑】,即可看到VBE中新增了一个模块

  • ?

    太实用了!Excel VBA常用代码!

    连雁卉

    展开

    前两天有两位朋友留言想收集一些VBA的常用代码,今天开始会陆续分享一些!

    记得收藏好哦,因为今后你应用到稍大型Excel VBA程序时,这其中某些代码肯定会用到。

    来看看都是哪些常用代码:

    下面先举一个简单的例子:

    场景再现:在当前的工作表中插入一张e盘中名为1.jpg的图片(长350、高300,距离Excel左侧90、上边框230)

    操作方法:

    第一步,打开vba代码区,输入通用格式【输入 sub 统计()回车即可】,并将名称改为“统计”;

    第二步,输入控制语句(ActiveSheet.Shapes.AddPicture "e:.jpg", True, True, 90, 230, 350, 300);

    第三步,看看结果。

    后面会分享更多关于Excel VBA的知识,欢迎大家留言、讨论!

  • ?

    Excel2010三种快速打开VBA界面的小技巧

    雁荷

    展开

    Visual Basic for Application(简称VBA)是一种必须依赖母系程序方能使用的程序,属于VB程序语言的一个子集。我们常用的Excel电子表格除了常规的可视化命令之外,还可以通过VBA代码来操控Excel实现一些较复杂的逻辑运算及统计分析等。我们不仅可以使用代码实现数据的统计运算,还能实现图表的自动生成于刷新,以及图形的旋转与移动。在网上我们可以找到有很多大牛基于Excel的VBA,开发了一些具有特定功能的代码,以及酷炫的游戏界面等。如果您对这方面感兴趣的话,那你必须掌握的第一步操作就是打开VBA界面来认实它。

    复杂的逻辑运算使我们身心俱疲

    闲话少聊,下面就重点介绍一下从Excel窗口切换到VBA界面的操作技巧。

    方法一是通过功能区的选项卡来实现。首先在菜单栏中找到开发工具项,然后在代码功能模块中找到Visual Basic命令按钮,单击它即可快速切换到VBA界面。若菜单栏中没有开发工具这一项,需要设置自定义功能区下的主选项卡来调出该命令。

    功能区的主选项卡-开发工具

    2.方法二是通过工作表标签来实现。首先在Excel界面左下角找到工作表标签区域,右键单击任一一个工作表标签,本教程以Sheet1工作表为例,在弹出的右键菜单中选择查看代码命令,随后即可激活VBA界面。

    Excel工作表标签

    3.方法三是通过快捷键法实现。在Excel操作界面下,按下组合键Alt+F11即可快速切换到VBA界面;在VBA界面下按此组合键即可快速关闭VBA窗口。

  • ?

    其实我想说,Excel VBA学习的最快方法就是借鉴,没有之一

    顾一江

    展开

    如果您已经掌握了Excel VBA的基本概念和简单语法,需要快速提高技术水平,以便可以早日完成各种简化工作的小程序,甚至能够编制功能强大的报表系统。

    于是,但凡有教程自称为“秘籍”或“宝典”的,都会引发大家的无限遐想。因为在各种武侠小说中,某人物因为一本(甚至只是几页)武学秘籍而改变命运、屌丝逆袭的经典桥段实在太多了,让人无限向往。但是,如果冷静分析一下前后情节,您就可以了解到这样的三个事实。

    对应这三条,我们来看看Excel VBA这门武功如何。

    如果要对Sheet1的A1:A100单元格区域进行汇总,按组合键就可以了,手快只需要0.1秒。如果每天要对1000个工作簿的Sheet1的A1:A100单元格区域进行汇总,那么只会自动求和的绝顶高手就想跳楼了。可是对于学习过VBA的人来说,几行代码就可以解决问题。

    在信息时代,技能学习信息只有过剩没有限制。即对于多数学科、技能,只要你想学习,教材是永远不缺的,老师也非常容易找。以前都是“收徒弟”,现在基本上是“收师傅”了。

    想学有所成,时间和精力是必需的,从古至今皆如此。当然,我很期待有一天能像《骇客帝国》里那样学习技能——直接下载到大脑里就行了。

    这么一分析,我刚才说的“快速提高”岂非奢望而已?那也未见得。首先,教材虽多,却有良莠之分,有适合之分,选择适合自己的优秀教材,那么就能快人一步。其次,注重学习方法,循序渐进,将有限的学习时间投入到最有价值的学习环节中,学习过程中少走弯路,那么又能快人一步。有了这两个基础,再辅以必要的学习时间,那么必能事半功倍,获得“快速提高”了。

    谈到循序渐进,在Excel VBA学习之路上具体应该怎么做呢?下图内容是值得参考的阶段性指标和学习重点。

    “拿来主义”很流行,也很有效,而且绝不丢人。所以,看懂别人的代码,然后修改之,变为自己的代码,这是一种能力。先啃小段的代码,再研究完整的程序,逐步提高。顶尖的编程高手通常都有自己的代码库,几乎所有的新程序都是从代码库中调取所需的模块修改后搭建而成的,而绝不是从头一行一行写出来的。高手们平时很重要的工作就是维护好自己的代码库。

    本书一个很重要的使命就是成为学习者的代码库,所有的代码都可以拿来即用。对于学习者来说,花时间去多读、读懂代码,是实现快速提高水平的保障。

    当然,我们鼓励“拿来主义”,可不是在教您如何“抄袭软件”。我们只能学习他人分享的代码,或者是教材上的代码。您不可以打着学习的幌子,破解别人的软件,而且还把作者写成您自己。

    最后,祝大家学习愉快。

  • ?

    EXCLE 2010 VBA教程

    龚从阳

    展开

    01-01、Excel VBA教程简介

    01-02、宏在工作中的运用

    01-03、Excel VBA基础

    01-04、Excel VBA窗口介绍

    01-05、Excel VBA代码编写规则

    01-06、对象

    01-07、属性

    01-08、方法

    01-09、常量与变量

    01-10、数据类型

    01-11、判断语句之IF

    01-12B、If条件判断小结

    01-12、判断语句IF之多条件

    01-13、判断语句之SELECT

    01-14、循环语句之DO...LOOP

    01-15、循环语句之DO...LOOP实例

    01-16、循环语句之DO WHILE...LOOP

    01-17、循环语句之DO UNTIL...LOOP

    01-18B、DO...LOOP 语法小结

    01-18、循环语句之WHILE与UNTIL位置变化

    01-19、.循环语句之FOR EACH...NEXT

    01-20B、For...NEXT小结与实例

    01-20、循环语句之FOX...NEXT

    01-21、用语句FOR...NEXT制作九九乘法表

    01-22、exit与end语句

    01-23、跳转语句

    01-24、错误分支语句

    01-25、with语句

    01-26、VBA与公式

    01-27、VBA与函数1

    01-28、VBA与函数2

    01-29、VBA与运算符

    01-30、like运算符

    01-31、like运算符运用

    01-32、综合运用(盘点清单核对)

    02-00、工作簿与工作表基础知识

    02-01、工作簿的表示方法

    02-02、当前工作簿与活动工作簿

    02-03、工作簿基础操作

    02-04、工作簿实例应用

    02-05、工作表的表示方法

    02-06、工作表集合应用

    02-07、工作表增加与删除

    02-08、工作表增加删除实例

    02-09、工作表移动与复制

    02-10、工作表选择与激活

    02-11、工作簿综合运用(拆分工作簿)

    03-00、EXCEL单元格基础

    03-01、Range引用基础1

    03-02、Range引用基础2

    03-03、Range引用与变量

    03-04、Range引用与索引值

    03-05、Range引用与索引值应用(有条件的平均工资)

    03-06、Cells单元格引用基础

    03-07、单元格简写

    03-08、三种单元格引用小结

    03-09、行、列引用

    03-10、row与column属性

    03-11、单元格的值与地址

    03-12、单元格移动与复制

    03-13、行列插入与删除

    03-14、活动单元格与选择区域

    03-15、UsedRange已使用区域(条件统计)

    03-16、currentregion当前区域

    03-17、单元格的Offset(给工资条加、减表头)

    03-18、单元格的resize(单据数据保存)

    03-19、单元格所在行与列(删除空行)

    03-20、specialcells定位(按批注汇总)

    03-21、FIND单元格查找技术

    03-22、单元格查找应用(制作查询系统)

    03-23、FIND实例应用(进销存之入库单)

    03-24、FIND实例应用(进销存之入库单)

    03-25、单元格END属性

    03-26、单元格END属性应用(查找分期付款最后月份)

    03-27、最后的格格

    03-28、单元格并集(Union)

    03-29、单元格并集应用(条件筛选)

    03-30、单元格交集(Intersect)

    03-31、单元格式之数字格式

    03-32、单元格式之字体(VBA实现条件格式)

    03-33、给你点颜色看看(底纹颜色讨论)

    03-34、单元格式实例(工资条格式化)

    03-35、利用查找颜色拾取进行颜色汇总

    03-36、粘贴

    03-37、选择性粘贴

    03-38、合并单元格(相同部门的合并)

    03-39、合并单元格实例(取消合并单元格并保持数据)

    03-40、批注基础(有条件的添加批注)

    03-41、批注修改(给员工加批注图片)

    03-42、图形基础

    03-43、图形插入实例(根据姓名导入图片)

    03-44、综合运用(多表合并)

    03-45、综合运用(多表拆分)

    04-00、EXCEL事件程序定义与作用

    04-01、事件程序基础

    04-02、工作表事件实例1(自选计算与投票统计)

    04-03、工作表事件实例2(状态栏地址与防工作表名更改)

    04-04、工作表事件实例3(自动列出工作表名与单元格区域保护)

    04-05、工作簿事件实例1(自动选择月份表、右键禁用、打印控制)

    04-06、工作簿事件实例2(给工作表加密码)

    04-07、应用程序事件基础

    04-08、应用程事件实例(打印控制)

    04-09、事件程序总结

    05-01、数组基础

    05-02、数组维度

    05-03、向数组中写数据

    05-04、在数组中取数据

    05-05、数组运用(数据汇总)

    05-06、数组写入与读取实例(数组的优势体现)

    05-07、数组运用1(计算不重复值)

    05-08、数组运用2(计算不重复值)

    05-09、数组运用(分类求和)

    05-10、动态数组(条件筛选)

    05-11、动态数组(多表合并)

    05-12、Split函数与数组(字符串生成数组)

    05-13、Join函数与数组(数组生成字符串)

    05-14、Fileter函数与数组(巧用Filter实现多列结果)

    05-15、工作表函数与VBA数组(几句代码制作查询系统)

    05-16、借助VBA数组快速格式化单元格

    05-17、利用VBA数组进行排序

    05-18、VBA数组分类汇总

    06-00、字典技术的魅力

    06-01、字典基础(你可能不会字典!)

    06-02、字典语法基础1

    06-03、字典语法基础2

    06-04、字典语法基础3

    06-05、字典数据写入技巧讨论

    06-06、字典实例(第1次与最后一次采购价提取)

    06-07、字典实例(多表求不重复值)

    06-08、字典实例(字典与数组经典结合)

    06-09、字典实例(分类计算)

    06-10、字典应用(多列合并计算)

    06-11、字典应用(自动查询)

    07-01、从通配符到正则表达式

    07-02、VBA中引入正则表达式

    07-03、正则表达式基础

    07-04、正则表达式(普通字符)

    07-05、正则表达式(元字符)

    07-06、元字符应用(数字、字符提取)

    07-07、元字符之量词

    07-08、元字符之量词实例

    07-09、分组

    07-10、后向引用与非捕获

    07-11、字符组(拆分单词)

    07-12、字符组(去编号)

    07-13、首尾锚定

    07-14、循环多个正则表达式

    07-15、综合练习(重新排列)

    07-16、零宽断言(有条件添加修改记录)

    07-17、正向零宽断言(汇总凌乱的开销记录)

    07-18、负向零宽断言(给单词加分隔符)

    07-19、懒惰与贪婪模式(乱中取目录)

    07-20、正则表达式属性(计算上班时间)

    07-21、分组的妙用

    07-22、分组运用(提取身份证信息)

    07-23、正学表达式总结

    08-01、自定义函数基础(小试牛刀)

    08-02、自定义函数的调用与存放位置

    08-03、自定义函数小实例(等级函数)

    08-04、自定义函数-返回不重复随机数(结果是数组)

    08-05、自定义函数(参数默认值设置)

    08-06、自定义函数(参数不定)

    08-07、自定义函数实例-身份证信息提取

    08-08、自定义函数实例-单元颜色求和(字典+自定义函数)

    08-09、自定义函数实例-反转字符与数字求和(正则+自定义函数)

    08-10、自定义函数实例-提取不重复值(字典+正则+自定义函数)

    09-01、开启进入Word的大门

    09-02、Word基础操作

    09-03、word中的表格

    09-04、从Word表格提取数据

    09-05、从word文字中提取数据

    09-06、提取excel数据到word

    10-01、消息框基础

    10-02、MSGBOX第二参数详解

    10-03、MSGBOX返回值

    10-04、InputBox基础与区别

    10-05、InputBox实例(用户与密码校验)

    10-06、InputBox方法Type参数详解(制作通用控件的好方法)

    11-01、一封情报引发的知识

    11-02、类模块基础

    11-03、类的实例应用(等级判断)

    11-04、属性过程中对象的操作(模板定制)

    11-05、属性过程中对象的操作(条件累加)

    11-06、用Function过程创建方法

    11-07、综合应用方法

    11-08、用sub过程创建方法

    11-09、类模块与程序事件

    12-01、窗体基础

    12-02、窗体属性

    12-03、窗体属性

    12-04、窗体事件

    12-05、窗体按钮控件

    12-06、制作变幻的登录界面

    12-07、标签与按钮控件(登录界面控件设计)

    12-08、标签与按钮控件(登录界面控件设计)

    12-09、文本框控件(注册界面控制设计)

    12-10、单选框控件(员工单设计)

    12-11、复选框控件(员工单设计)

    12-12、复合框控件(员工单设计)

    12-13、列表框控件(员工单设计)

    12-14、切换按钮控件(基础产品单设计)

    12-15、图像控件(员工信息查询设计)

    12-16、表单控件

    12-17、表单控件

    12-18、ActiveX控件组合框

    12-19、ActiveX控件 (组合框实例-入库自动查询)

    12-20、图像控件(动态显示员工照片)

    13-01、自定义功能区的应用(演示)

    13-02、解析excel 2010文件

    13-03、认识功能区Ribbon

    13-04、代码自定义功能区

    13-05、初识RibbonX

    13-06、XML语法结构讲解

    13-07、OpenXML架构元素(一)

    13-08、OpenXML架构元素(二)

    13-09、OpenXML架构元素(三)

    13-10、group元素-分组

    13-11、button元素-按钮

    13-12、button元素-按钮(让控件运行起来)

    13-13、CallBacks-回调(点击控件访问网站)

    13-14、CallBacks-回调(让按钮产生变化)

    13-15、CallBacks-回调(让按钮产生变化)

    13-16、给控件自定义图标

    13-17、给控件自定义图标

    13-18、动态变幻自定义图标

    13-19、checkBox 元素-复选框(根据复选框状态录入数据)

    13-20、editBox元素-文本编辑框

    13-21、editBox元素-文本编辑框(较酷的用户名验证)

    13-22、toggleButton元素-切换按钮

    13-23、toggleButton元素-切换按钮(字母大小写切换按钮订制)

    13-24、item元素-条目

    13-25、comboBox元素-组合框

    13-26、comboBox元素-组合框(利用组合框录入与筛选)

    13-27、comboBox元素-组合框(动态填充组合框)

    13-28、dropDown元素-下拉列表

    13-29、Gallery元素-库(确实很酷)

    13-30、Gallery元素-库(动态装载图片)

    13-31、menu元素-菜单

    13-32、menu元素-菜单 ( 定制系统登录和超链接)

    13-33、splitButton元素-拆分按钮

    13-34、splitButton元素-拆分按钮

    13-35、dynamicMenu元素-动态菜单(动态获取单元格值为菜单项目)

    13-36、dynamicMenu元素-动态菜单(动态获取单元格值为菜单项目)

    13-37、dynamicMenu元素-动态菜单(动态筛选指定目录下的文件)

    13-38、menuSeparator元素-菜单分割符 (动态变化的菜单标题)

    13-39、separator元素-控件分隔线(动态显示分隔线)

    13-40、box元素-控件框

    13-41、dialogBoxLauncher元素-对话框启动器

    13-42、Ribbon控件综合运用(制作通用插件)

    13-43、Ribbon控件综合运用(制作登录界面)

    14-01、幼儿园开票系统功能介绍

    14-02、系统界面制作

    14-03、系统单据初始资料设置

    14-04、学生管理模块(增加功能)

    14-05、学生管理模块(查询与修改功能)

    14-06、主要单据的自动化设置

    14-07、单据查询系统

    14-08、工作表的显示隐藏设置

  • ?

    excel高级教程——函数应用基础!

    Qoqa

    展开

    函数应用基础

      1.函数和公式

      (1)什么是函数

      Excel函数即是预先定义,执行计算、分析等处理数据任务的特殊公式。以常用的求和函数SUM为例,它的语法是“SUM(number1,number2,......)”。其中“SUM”称为函数名称,一个函数只有唯一的一个名称,它决定了函数的功能和用途。函数名称后紧跟左括号,接着是用逗号分隔的称为参数的内容,最后用一个右括号表示函数结束

    参数是函数中最复杂的组成部分,它规定了函数的运算对象、顺序或结构等。使得用户可以对某个单元格或区域进行处理,如分析存款利息、确定成绩名次、计算三角函数值等。

      按照函数的来源,Excel函数可以分为内置函数和扩展函数两大类。前者只要启动了Excel,用户就可以使用它们;而后者必须通过单击“工具→加载宏”菜单命令加载,然后才能像内置函数那样使用。

      (2)什么是公式

      函数与公式既有区别又互相联系。如果说前者是Excel预先定义好的特殊公式,后者就是由用户自行设计对工作表进行计算和处理的公式。以公式“=SUM(E1:H1)*A1+26”为例,它要以等号“=”开始,其内部可以包括函数、引用、运算符和常量。上式中的“SUM(E1:H1)”是函数,“A1”则是对单元格A1的引用(使用其中存储的数据),“26”则是常量,“*”和“+”则是算术运算符(另外还有比较运算符、文本运算符和引用运算符)。

      如果函数要以公式的形式出现,它必须有两个组成部分,一个是函数名称前面的等号,另一个则是函数本身。

      2.函数的参数

      函数右边括号中的部分称为参数,假如一个函数可以使用多个参数,那么参数与参数之间使用半角逗号进行分隔。参数可以是常量(数字和文本)、逻辑值(例如TRUE或FALSE)、数组、错误值(例如#N/A)或单元格引用(例如E1:H1),甚至可以是另一个或几个函数等。参数的类型和位置必须满足函数语法的要求,否则将返回错误信息。

      (1)常量

      常量是直接输入到单元格或公式中的数字或文本,或由名称所代表的数字或文本值,例如数字“2890.56”、日期“2003-8-19”和文本“黎明”都是常量。但是公式或由公式计算出的结果都不是常量,因为只要公式的参数发生了变化,它自身或计算出来的结果就会发生变化。

      (2)逻辑值

      逻辑值是比较特殊的一类参数,它只有TRUE(真)或FALSE(假)两种类型。例如在公式“=IF(A3=0,"",A2/A3)”中,“A3=0”就是一个可以返回TRUE(真)或FALSE(假)两种结果的参数。当“A3=0”为TRUE(真)时在公式所在单元格中填入“0”,否则在单元格中填入“A2/A3”的计算结果。

      (3)数组

      数组用于可产生多个结果,或可以对存放在行和列中的一组参数进行计算的公式。Excel中有常量和区域两类数组。前者放在“ ”(按下Ctrl+Shift+Enter组合键自动生成)内部,而且内部各列的数值要用逗号“,”隔开,各行的数值要用分号“;”隔开。假如你要表示第1行中的56、78、89和第2行中的90、76、80,就应该建立一个2行3列的常量数组“{56,78,89;90,76,80}。

      区域数组是一个矩形的单元格区域,该区域中的单元格共用一个公式。例如公式“=TREND(B1:B3,A1:A3)”作为数组公式使用时,它所引用的矩形单元格区域“B1:B3,A1:A3”就是一个区域数组。

      (4)错误值

      使用错误值作为参数的主要是信息函数,例如“ERROR.TYPE”函数就是以错误值作为参数。它的语法为“ERROR.TYPE(error_val)”,如果其中的参数是#NUM!,则返回数值“6”。

      (5)单元格引用

      单元格引用是函数中最常见的参数,引用的目的在于标识工作表单元格或单元格区域,并指明公式或函数所使用的数据的位置,便于它们使用工作表各处的数据,或者在多个函数中使用同一个单元格的数据。还可以引用同一工作簿不同工作表的单元格,甚至引用其他工作簿中的数据。

      根据公式所在单元格的位置发生变化时,单元格引用的变化情况,我们可以引用分为相对引用、绝对引用和混合引用三种类型。以存放在F2单元格中的公式“=SUM(A2:E2)”为例,当公式由F2单元格复制到F3单元格以后,公式中的引用也会变化为“=SUM(A3:E3)”。若公式自F列向下继续复制,“行标”每增加1行,公式中的行标也自动加1。

      如果上述公式改为“=SUM($A $3:$E $3)”,则无论公式复制到何处,其引用的位置始终是“A3:E3”区域。

      混合引用有“绝对列和相对行”,或是“绝对行和相对列”两种形式。前者如“=SUM($A3:$E3)”,后者如“=SUM(A$3:E$3)”。

      上面的几个实例引用的都是同一工作表中的数据,如果要分析同一工作簿中多张工作表上的数据,就要使用三维引用。假如公式放在工作表Sheet1的C6单元格,要引用工作表Sheet2的“A1:A6”和Sheet3的“B2:B9”区域进行求和运算,则公式中的引用形式为“=SUM(Sheet2!A1:A6,Sheet3!B2:B9)”。也就是说三维引用中不仅包含单元格或区域引用,还要在前面加上带“!”的工作表名称。

      假如你要引用的数据来自另一个工作簿,如工作簿Book1中的SUM函数要绝对引用工作簿Book2中的数据,其公式为“=SUM([Book2]Sheet1! SA S1: SA S8,[Book2]Sheet2! SB S1: SB S9)”,也就是在原来单元格引用的前面加上“[Book2]Sheet1!”。放在中括号里面的是工作簿名称,带“!”的则是其中的工作表名称。即是跨工作簿引用单元格或区域时,引用对象的前面必须用“!”作为工作表分隔符,再用中括号作为工作簿分隔符。不过三维引用的要受到较多的限制,例如不能使用数组公式等。

      提示:上面介绍的是Excel默认的引用方式,称为“A1引用样式”。如果你要计算处在“宏”内的行和列,必须使用“R1C1引用样式”。在这种引用样式中,Excel使用“R”加“行标”和“C”加“列标”的方法指示单元格位置。启用或关闭R1C1引用样式必须单击“工具→选项”菜单命令,打开对话框的“常规”选项卡,选中或清除“设置”下的“R1C1引用样式”选项。由于这种引用样式很少使用,限于篇幅本文不做进一步介绍。

      (6)嵌套函数

      除了上面介绍的情况外,函数也可以是嵌套的,即一个函数是另一个函数的参数,例如“=IF(OR(RIGHTB(E2,1)="1",RIGHTB(E2,1)="3",RIGHTB(E2,1)="5",RIGHTB(E2,1)="7",RIGHTB(E2,1)="9"),"男","女")”。其中公式中的IF函数使用了嵌套的RIGHTB函数,并将后者返回的结果作为IF的逻辑判断依据。

      (7)名称和标志

      为了更加直观地标识单元格或单元格区域,我们可以给它们赋予一个名称,从而在公式或函数中直接引用。例如“B2:B46”区域存放着学生的物理成绩,求解平均分的公式一般是“=AVERAGE(B2:B46)”。在给B2:B46区域命名为“物理分数”以后,该公式就可以变为“=AVERAGE(物理分数)”,从而使公式变得更加直观。

      给一个单元格或区域命名的方法是:选中要命名的单元格或单元格区域,鼠标单击编辑栏顶端的“名称框”,在其中输入名称后回车。也可以选中要命名的单元格或单元格区域,单击“插入→名称→定义”菜单命令,在打开的“定义名称”对话框中输入名称后确定即可。如果你要删除已经命名的区域,可以按相同方法打开“定义名称”对话框,选中你要删除的名称删除即可。

      由于Excel工作表多数带有“列标志”。例如一张成绩统计表的首行通常带有“序号”、“姓名”、“数学”、“物理”等“列标志”(也可以称为字段),如果单击“工具→选项”菜单命令,在打开的对话框中单击“重新计算”选项卡,选中“工作簿选项”选项组中的“接受公式标志”选项,公式就可以直接引用“列标志”了。例如“B2:B46”区域存放着学生的物理成绩,而B1单元格已经输入了“物理”字样,则求物理平均分的公式可以写成“=AVERAGE(物理)”。

      需要特别说明的是,创建好的名称可以被所有工作表引用,而且引用时不需要在名称前面添加工作表名(这就是使用名称的主要优点),因此名称引用实际上是一种绝对引用。但是公式引用“列标志”时的限制较多,它只能在当前数据列的下方引用,不能跨越工作表引用,但是引用“列标志”的公式在一定条件下可以复制。从本质上讲,名称和标志都是单元格引用的一种方式。因为它们不是文本,使用时名称和标志都不能添加引号。

    Excel迷你图图表制作工具简介

    迷你图是Excel中加入的一种全新的图表制作工具,它以单元格为绘图区域,简单便捷的为我们绘制出简明的数据小图表,方便的把数据以小图的形式呈现在读者的面前,它是存在于单元格中的小图表。先来让我们认识一下迷你图:

    上图中H列绿色背景的部分就是迷你图,其源数据为对应行B列至F列的数据。当然我们也可以将迷你图附加到有数据的单元格上:

      好了,这就是迷你图了,让我们来看看如何使用这个新功能吧

      一:迷你图的基本应用:

      迷你图作为一个将数据形象化呈现的制图小工具,使用方法非常简单,在生成迷你图之前,请特别注意,只有使用Excel2010创建的数据表才能创建迷你图,低版本的EXCEL文档即使使用EXCEL2010打开也不能创建,必须将数据拷贝至EXCEL2010文档中才能使用该功能。

      1.迷你图的创建:

      通过点击“插入”功能区—任意一种类型的迷你图示例(本例使用迷你折线图)弹出迷你图创建对话框

      “数据范围”选择B2:F5单元格区域(参看图一),即源数据区域,“位置范围”是指生成迷你图的单元格区域,例如图一中的“位置范围”为H2:H5,单击确定之后,迷你图就创建成功了。

    p#副标题#e#

      2.迷你图的修改:

      当我们点选了有迷你图的表格后将会出现“迷你图设计”功能区,

      包括有:

      编辑数据:修改迷你图图组的源数据区域或单个迷你图的源数据区域

      类型:更改迷你图的类型为折线图、柱形图、盈亏图

      显示:在迷你图中标识什么样的特殊数据

      样式:使迷你图直接应用预定义格式的图表样式

      迷你图颜色:修改迷你图折线或柱形的颜色

      编辑颜色:迷你图中特殊数据着重显示的颜色

      坐标轴:迷你图坐标范围控制

      组合及取消组合:由于创建本例迷你图时“位置范围”选择了单元格区域,4个单元格内的迷你图为一组迷你图,可通过使用此功能进行组的拆分或将多个不同组的迷你图组合为一组

      二.迷你图与图表

      office系列产品总是给人这样一种印象:每一个新版本发布,每一个新功能的加入,最让我们感兴趣的不是新功能本身,而是这项新功能在使用中衍生出来的扩展使用方法,包括与其他功能结合在一起会产生怎样的效果。

      迷你图存在于单元格上,而单元格又是我们平时操作最频繁的对象,我们经常会在图表、文本框、图片等等的功能中大量的引用,这不禁让人浮想联翩,但是很遗憾,迷你图并不是真正存在于单元格内的“内容”,它可以被看做是覆盖在单元格上方的图层,我们不能通过直接引用的方式来引用它,如果想在例如图表等其他功能中引用,需要将迷你图转换为图片。

      这样,就可以实现图表功能与迷你图功能的组合,使图表中的条形不仅能够反映总计项数值的对比,还能反映各月份数据波动幅度。

      具体步骤如下:

      (1)在生成了迷你图的单元格中右击—选择“复制”按钮,在任意单元格内右击—选择粘贴—链接的图片。这样,可以把迷你图转换为图片。

      (2)右击生成的图片—点选“复制”按钮,在图表内对应的条形上点击两次左键单选一根条形,然后按下CTRL+V组合键。以此将四张图片粘贴到条形中。

      总之,正如前文所说,office2010系列软件中加入的每一项新功能,都能给用户带来丰富的想象空间,与原有的技术关联起来,就能带来更为精彩的体验!

    Excel2007快速删除重复记录

    在以前版本的Excel中录入数据后,使用“高级筛选”功能来删除重复的记录(操作比较复杂),到了Excel2007以后增加了一个“删除重复项”功能,来删除重复记录就显得更加容易上手了。

      操作如下:

      首先选中数据区中的任一单元格,然后单击“数据”菜单,再单击“数据工具”功能区中的“删除重复项”按钮,在弹出的“删除重复项”对话框选择要检查的区域,最后单击两次“确定”按钮即可。

    为Excel文档添加更酷的启动画面

    你可能曾经做过很多漂亮有趣的Excel文档,但我敢打赌你还希望为这些文档再添加些更酷的效果画龙点睛一下。在本文中我将为你介绍一些关于Excel宏的小窍门,希望能助你一臂之力。

      首先在Excel中键入ALT+F11打开VBA编辑器;在“插入”菜单中,选择“用户窗体”;在窗口编辑栏里拖住对话框的右下角,把窗体拉大;最后的大小就将是咱们自定义的启动画面的大小了。

    接下来,将“工具箱”里那个大大的“A”字图标拖拽到你的窗体上;鼠标点住出现的文本框的一角,将它拉大,将框内文字替换为之后想要显示的标题内容即可。如果此时VBA编辑器里并没...

  • ?

    小白也能看懂的Excel VBA入门教程(一)

    Xanthe

    展开

    什么是VBA

    Visual Basic for Applications(VBA)是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。简单来说VBA是建立在Office中的一种应用程序开发工具,其实知道这也就够了。

    第一个VBA程序

    首先要把开发工具调出来,Excel默认情况下是不显示开发工具的

    打开vb编辑器,新建模块,并写入代码

    Sub test()Range("A1") = "Hello World" '在A1单元格中填写Hello WorldRange("A2") = "我的第一个VBA程序"End Sub

    在Excel VBA中,Range对象可能是最常用的对象,Range对象可以是某一单元格、某一单元格区域、某一行、某一列、或者是多个连续或非连续的区域组成的区域。代码中 Range("A1") 就代表A1单元格。而“=”是一个赋值运算符,将右边的值传给左边的变量。

    大家学会了吗,其实VBA还是比较简单的。小编准备写一个VBA入门的教程,现在有两种思路,一种是先讲解VB的基本知识,然后在从例子中不断加深理解,这样前期可能相对比较枯燥;另一种是每篇介绍一个例子,讲解一下如何用VBA来解决,从实战中学习,相对来说比较快一点。大家觉得那种更好一点呢,或者有更好的方法,欢迎在下方评论,小编一定会及时回复。。

excel vba教程

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP