千万别学VBA(宏),我是认真的!_第1页
千万别学VBA(宏),我是认真的!_第2页
千万别学VBA(宏),我是认真的!_第3页
千万别学VBA(宏),我是认真的!_第4页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、千万别学VBA(宏),我是认真的!原创2017-02-19 兰色幻想-赵志东Excel精英培2 Excel精英培训兰色曾对很多Excel技巧和函数高手说,千万别学宏。因为一旦爱上宏编程,Excel圈里很快就会少了一个技巧或函数高手!Why?耐心看下去你就会明白。一、什么是宏?先举个例子:Excel有一个任务:在 C列值的基础上加上 B列的值。. 选取B列并复制.选取C列右键-选择性粘贴-力口完成!如上,你在Excel中进行的一系列的 操作过程,就是一个宏。 操作过程(宏) 可以是步也可以是若干步,使用一个Excel命令或多个Excel命令。宏,我们也可以看成是一个个可以完成特定目标的功能学习宏

2、 ?Excel 提供了很多功能,可以完成各种操作。筛选数据有自动筛选和高级筛选,汇总数据有分类汇总、数据透视表等但还是有 Excel 无能为力的时候。比如:批量取消工作表隐藏批量合作多个工作表或Excel 文件批量 有难题就需要有解决办法,怎么办,怎么办?有办法。就是Excel 中没有的功能,我们自已添加 ,也就是我们自已 编写可以完成指定功能的 宏 。就象 Excel 内置功能一样,可以供我们随时使用。三、怎么 编写宏有一种语言,它的名称叫 VBA (visual baisic for application ),它是 Excel 所支持的开发语言,也就是说,我们可以用 VBA 语言来编写我

3、们需要的功能( 宏 ),除此之外,我们还 可以用 VBA 来 编写 Excel 函数 。在哪 编写宏有一个窗口,都叫它 VBE 编辑器 。你可以在工作表标签上右键菜单中点击” 查看代码“就可以打开它。更多的是我们通过”开发工具“选项卡打开这个界面。需要什么功能,就可以编写什么功能,需要什么函数,就可以编写什么函数 ,工作中再也没有我们完不成的任务。还有什么理由可以让我们不向往强大的 宏编程 ( VBA 语言 ),这也可以解释,为什么很多函数高手放弃让人炫晕的 Excel 数组公式学习,技巧高手放弃繁杂的内置功能研究了。附:兰色最近写的几段常用 VBA 代码、禁止插入工作表Private Sub

4、 Workbook_NewSheet(ByVal Sh As Object)MsgBox 本工作簿禁止插入新工作表Application.DisplayAlerts = FalseSh.DeleteApplication.DisplayAlerts = TrueEnd Sub、禁止打开Excel 文件Private Sub Workbook_BeforePrint(Cancel As Boolean)MsgBox 此 excel 文件禁止打印,如需打印请与管理员联系 Cancel = TrueEnd Sub、在 VBA 中调用 Vlookup 和 Sumif 函数Sub 调用 1()Dim a

5、rr, arr1arr = Range(a2:d6)arr1 = Application.VLookup(Array(B, C), arr, 4, 0)End SubSub 调用 2()Dim TT = TimerDim arrarr = Application.SumIf(Range(a2:a10000), Array(B, C, G, R),Range(B2:B10000)MsgBox Timer - TStopEnd Sub4、批量取消工作表隐藏Sub取消隐藏()For x = 1 To Sheets.CountIf Sheets(x).Name 总表ThenSheets(x).Visi

6、ble = -1End IfNext xEnd SubSub隐藏()For x = 1 To Sheets.CountIf Sheets(x).Name 总表ThenSheets(x).Visible = 0End IfNext xEnd Sub5、拆分表格成单独的Excel文件Sub拆分表格()Dim x As IntegerDim wb As WorkbookApplication.ScreenUpdating = FalseFor x = 2 To 32Sheets(x).CopySet wb = ActiveWorkbookWith wb.SaveAs ThisWorkbook.Pat

7、h & /3 月 / & Sheets(x).Name & .xlsx.Close TrueEnd WithNext xApplication.ScreenUpdating = TrueEnd Sub6、合并多个 Excel文件到一个 Excel中Sub合并表格()Dim mypath As StringDim f As StringDim ribao As WorkbookApplication.ScreenUpdating = Falsemypath = ThisWorkbook.Path & /3月 /月 /*.xlsx)f = Dir(ThisWorkbook.Path & /3DoWorkbooks.Open (mypath & f)With ActiveWorkbook.Sheets(1).Move after:=ThisWorkbook.Sheets(Sheets.Count)End With f = DirLoop Until Len=0Application.ScreenUpdating = True End Su兰色说:从函数到VBA是,绝大多数 Excel高手的必经之路,而且没有回头路。编了半天 的数组公式,很轻易的被几句简单的代

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论