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

    这些Excel必备基础知识,很多人都不知道

    劳伦斯

    展开

    在学习一个软件的时候,最忌讳的就是眼高手低。一谈到学习 Excel,好多小伙伴会觉得学宏、学 VBA 更高大上,学其他的基本操作太 Low。

    举个例子:

    很多人连「相对引用」和「绝对引用」都不知道是什么,听说 「Rank 函数」,或者 「Vlookup 函数」很厉害,也想用用看。

    于是从网上找个教程,跟着磕磕绊绊地操作,最终可能解决问题,但是,下一次遇到类似情形的时候,很可能还是懵逼了。

    你当然可以学 Excel 的高级功能,但是,在此之前,务必要把最基础的部分搞定。

    比如下面这些知识,你知道么?

    虽然很简单,但是很实用哦~

    比如,我们了解这三个要点,能够让我们快速了解 Excel 的基本逻辑。

    01.合格的公式写法

    如果单元格 B34 里面要计算总和的话,一定不能写这种公式:

    写法1=4500+3600+4000+1400+414+121.6+……+330+630

    一定要把公式中的数字替换成单元格地址:

    写法2=B33+B32+B31+B30+B29+B28+B27+B26+B25+B24+B23+B22+B21+B20+B19+B18+B17+B16+B15+B14+B13+B12+B11+B10+B9+B8+B7+B6+B5+B4+B3+B2

    写成单元格地址最大的好处就是公式可复用,复用的意思是说,如果有其他列要计算总计,套用这个公式的逻辑就可以了。

    虽然「写法2」完全正确,没有任何 Excel 的语法问题,但我们仍然不推荐。

    为什么?太慢了嘛!有更快的方法就要用起来。

    写法3=Sum(B2:B33)

    很多常见的公式比如总分、平均分、最大值、最小值等,Excel 都把它变成了函数。

    所以,就不需要我们自己去写了,除非现有的函数解决不了这个问题,我们再自己造公式。

    02.正确的日期格式

    再举一个例子,以下几个日期格式,哪一个是正确的?

    2016、3、222016.3.22201603222016年3月22号2016\3\222016。3。22

    其实,以上六种日期的写法全是错的!

    正确的写法应该是「2016-3-22」或者「2016/3/22」

    只有用了正确格式的日期,才可以自由的转换格式,或者计算,一旦写成错误的日期格式就做不到了。

    不过,如果你收到了一份日期格式不对的表格也不用害怕,早就帮你准备好了!

    学会3招,再也不怕Excel中的假日期

    03.正确的表格结构

    如果用 Excel 做数据分析,最重要的表格是「源数据表」。

    只要你的「源数据表」设计得当,你就可以生成各种「老板要的表」,有时会用到「辅助表」来做一些中间运算,最终形成报表。

    举例来说:如何制作一张成绩单

    尽管我们工作或学习中的表格可能比这个复杂很多,但是,基本的原理都是通用的,而且,在教学过程中,越是简单典型的例子,越容易说明问题。

    上面这张表可能我们通常看到的成绩单,但是,这个表格的设计有很大问题。

    源数据表应该是这样设计的:

    原因就在于第一张表中的数据,需要两个维度才能确定当前数据的意义。

    比如,第一个数字 90,我需要向左看才知道是梅长苏的成绩,再往上看才知道是Word这门课的成绩。

    表二只有一行是标题行,或者叫表头。其余的每一行都独立成行,记录了一条完整的数据。

    这种设计方法最大的好处就是今后不管如何做统计、做报表,都极其方便。

    现在,你明白了Excel的基本逻辑了吗?

  • ?

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

    尽悲凉

    展开

    函数应用基础

      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编辑器里并没...

  • ?

    EXCEL2007 vba编程入门(实例对话框)

    灰色

    展开

    1、新建EXCEL2007空白表格。xlsx格式的,将VBA工具栏调出。如图1.1

    2、点击“开发工具”然后单击插入,在下拉的菜单的表单控件里面选择“按钮”,如图2.1

    3、画个方框,会弹出一个对话框“指定宏”,单击"新建"按钮,这样就会进入后台的程序书写界面,进入以后,程序的头和尾已经帮你写好了,如图3.1,你只需要在中间写入一句程序“ MsgBox("hello world") ”。

    4、为了保证宏正常运行,要在EXCEL的设置中进行启用宏操作。在“开发工具-宏安全性-宏设置:启用所有宏和勾选信任对VBA工程对象模型的访问”。如图4.1

    5、最后点击另存为“启用宏的工作簿”的xlsm文件,然后退出程序界面。

  • ?

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

    沧澜

    展开

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

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

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

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

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

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

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

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

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

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

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

    最后,祝大家学习愉快。

  • ?

    太实用了!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的知识,欢迎大家留言、讨论!

  • ?

    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中新增了一个模块

  • ?

    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、工作表的显示隐藏设置

  • ?

    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编程的小技巧

    钱宫苴

    展开

    1、 根据条件删除行

    Sub deleteRows(strTable, condition1, condition2)

    Dim i, j, iMax, jMax As Long

    Dim iicondition1, iicondition2 As Integer

    With Worksheets(strTable)

    iMax = .UsedRange.Rows.Count

    jMax = .UsedRange.Columns.Count

    i = 2

    Do While i < iMax + 1

    iicondition1= .Cells(i, 1)

    iicondition2 = .Cells(i, 2)

    If (iicondition1= condition1And iicondition2 = condition2) Then

    .Rows(i & ":" & i).Delete shift:=xlUp

    iMax = iMax - 1

    Else

    i = i + 1

    End If

    Loop

    End With

    End Sub

    2、 删除所以的使用range

    Worksheets("sheetName").UsedRange.Delete shift:=xlUp

    3、打开某指定路径的文件夹对话框

    Function GetFileName(ByVal DialogType As MsoFileDialogType, ByVal defaultPath As String) As String

    With Application.FileDialog(DialogType)

    .Title = "XXXX:"

    .AllowMultiSelect = False

    .Filters.Clear

    .Filters.Add "Excel Files", "*.xlsm"

    .Filters.Add "All Files", "*.*"

    .InitialFileName = defaultPath

    If .Show = True Then

    GetFolderName = .SelectedItems(1)

    End If

    End With

    End Function

    4、截取字符段

    从右边开始,查找某字符,然后截取其后面的字符串。

    xlsPath2 = Right(xlsPath, InStr(StrReverse(xlsPath), "\") - 1)

    5、Sharepoint数据的刷新

    Worksheets("Sharepoint对应的sheet").Range("A1").ListObject.QueryTable.Refresh BackgroundQuery:=False

    6、当前使用的range的取得

    .UsedRange ‘对应的range

    .UsedRange.Rows.Count ‘对应的行号

    .UsedRange.Columns.Count 对应的列号

    7、在Excel内部打开另外一个Excel (不显示,隐藏)并读取其数据

    Set xlsApp = New Excel.Application

    xlsApp.Visible = False

    xlsPath = ThisWorkbook.Path

    Set xlsWB = xlsApp.Workbooks.Open(xlsPath, Null, ReadOnly)

    ‘读取/写入对应的sheet

    X = xlsWB.worksheets(“xxxx”).cells(i,j)

    xlsWB.worksheets(“xxxx”)..Cells(i, j).Formula = "=E” & i

    8、计算处理

    '如果你的表中有大量的计算单元格,那就需要关闭自动计算,否则慢的要死

    ‘在VBA开始,设置为手动

    'Application.Calculation = xlCalculationManual

    'Application.ScreenUpdating = False

    ‘在VBA开始,设置为自动

    'Application.Calculation = xlCalculationAutomatic

    'Application.ScreenUpdating = False

    注意,还有一种方法是再打开本excel的时候,就设置为手动,对于需要计算的sheet,单独在其数据填充完毕后,执行计算操作。

    例如: Worksheets("XXXXX”).Calculate ‘这是效率最高一种方法。当然,你也可以对某些range,单独进行range计算。

    9、Range到range的只读拷贝、黏贴

    Worksheets("srcSheet").Range(.Cells(1, 1), .Cells(x,y)).Copy

    Worksheets("dstSheet").Cells(1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

    10、Cell内容的替换操作

    Worksheets("CostTable").Cells.Replace What:="Original Content", Replacement:="replease Content", LookAt:=xlPart, _

    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    11、自动填充

    Worksheets("xxxx")..Range("D8:F8").AutoFill Destination:=.Range(.Cells(8, 4), .Cells(rMax, 8)), Type:=xlFillDefault

    12、获取pivot的使用区域、

    Set pvt = Worksheets("xxxx").PivotTables("PivotTable_xxxx")

    Set rngTable = pvt.TableRange1

    13、刷新pivot

    Worksheets("xxxx").PivotTables("PivotTable_xxxx").PivotCache.Refresh

  • ?

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

    瞿以云

    展开

    什么是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