VBA学习笔记系列----ExcelVBA 基础
- 格式:docx
- 大小:84.51 KB
- 文档页数:2
目录第一章 Excel VBA 简明语言之基础第一节标识符第二节运算符第三节数据类型第四节变量与常量第五节数组使用第六节注释和赋值语句第七节书写规范第八节条件语句第九节循环语句第十节其他类语句和错误语句处理第十一节过程和函数第十二节内部函数第二章 Excel VBA常用对象之使用第一节文件的操作1) Excel文件2) 文本文件3) Access文件4) 文件其它操作第二节工作表操作1) 新建与删除2) 隐藏与显示3) 锁定与保护第三节单元格操作1) 如何引用单元格和区域2) 如何处理单元格和区域3) 单元格和区域的定位 4)单元格和区域的保护与锁定第四节图表的操作1) 新建及类型2) 设置图表的数据3) 图表格式设置4) 散点图增加系列和文字5) 实例第三章 Excel VBA高级使用第一节 Win API的使用1) 堀明API函数2) 使用API函数3) 堀明补充说明4) 实例第二节 Excel VBA程序的保密1) 使用动态连接库DLL2) 获得硬盘物理地址3) 加密与注册第四章 Excel VBA优化及结束语第一节 Excel VBA优化第二节结束语附录I Excel VBA对象框架图第一章 VBA语言基础第一节标识符一.定义标识符是一种标识变量、常量、过程、函数、类等语言构成单位的符号,利用它可以完成对变量、常量、过程、函数、类等的引用。
二.命名规则1)字母打头,由字母、数字和下划线组成,如 A987b_23Abc2)字符长度小于 40,(Excel2002以上中文版等,可以用汉字且长度可达 254个字符)3)不能与 VB保留关键字重名,如 public, private, dim, goto, next, with, integer, single等第二节运算符定义:运算符是代表 VB某种运算功能的符号。
1)赋值运算符=2)数学运算符&、 + (字符连接符 )、 +(加)、-(减)、 Mod(取余)、 \(整除)、*(乘)、/(除)、-(负号)、^(指数)3)逻辑运算符 Not(非)、 And(与)、 Or(或)、 Xor(异或)、 Eqv(相等)、 Imp(隐含)4)关系运算符= (相同)、 <>(不等)、>(大于)、<(小于)、 >=(不小于)、 <=(不大于)、 Like、 Is5)位运算符Not(逻辑非)、 And(逻辑与)、 Or(逻辑或)、 Xor(逻辑异或)、 Eqv(逻辑等)、 Imp(隐含)第三节数据类型VBA共有12种数据类型,具体见下表,此外用户还可以根据以下类型用 Type自定义数据类型。
Excel中VBA编程学习笔记(一)1、注释及编码规则注释:1.单引号:可以位于句子结尾或者单独一行;2.Rem:单独一行编码规则:1.如果VB中的关键字是由多个英文字母组成,则系统自动将每个单词的首字母转换成大写字母,其余字母一律转换成小写字母。
2.对于用户自定义的变量名、过程名、函数名,VB以第一次定义的为准,以后输入的自动转换成首次的形式。
3.如果在同一行写多条语句,语句间要用冒号“:”隔开。
例如:Form1.Width = 300 : Form1.Caption = “VB!”1.如果一条语句在一行写不下,可以分多行写,续航符为:一个空格后面跟一个下划线“_”。
例如:Address = “天津市河北工业大学” + _“现代化教学中心” + _“计算机技术基础教研室”2、类模块在Excel VBA中类模块就相当于一个类,类模块的名字就是类名。
下面为定义的一个类Class1,并且有些基本属性及一个初始化函数【例】下面定义一个类Class1,Private name, sex As StringPrivate age As IntegerPublic rng As RangeSub class_initialize() '初始化sex = "男"age = 20End SubPublic Property Get GetName() As VariantGetName = nameEnd PropertyPublic Property Get GetSex() As VariantGetSex = sexEnd PropertyPublic Property Get GetAge() As IntegerGetAge = ageEnd PropertyPublic Property Let SetName(newName As String)name = newNameEnd PropertyPublic Property Let SetSex(newSex As String)sex = newSexEnd PropertyPublic Property Let SetAge(newAge As Integer)age = newAgeEnd PropertyPublic Function GetInfo() As StringGetInfo = "姓名:" & name & ";性别:" & sex & ";年龄:" & ageEnd FunctionPublic Property Get maxNumer(num As Integer) As Integer maxNumber = Application.WorksheetFunction.Max(num, age)End PropertyPublic Property Set SetBckColor(myRng As Range)myRng.Interior.ColorIndex = 3End Property新建一个过程Sub test()Set tmp = New Class1Debug.Print tmp.GetAge() '20tmp.SetName = "张三"tmp.SetAge = 23Debug.Print tmp.GetInfo() '姓名:张三;性别:男;年龄:23Set tmp.SetBckColor = Sheet3.Rows(1) ‘将Sheet3的第一行背景色设置为红色End Sub3、新建对象及常用对象新建一个模块。
ExcelVBA基础教程两篇Excel VBA基础教程两篇篇一:Excel VBA基础教程Excel VBA教程是把VB编程应用在Excel平台的一套实用教程,Excel +VBA双剑合壁,他可以帮助我们实现Excel原本实现不了的功能,可以让工作变得更高效,可以让操作变得变方便,可以把重复性的操作变得更有趣,随心所欲的定制自己的工作平台,还可以针对企业来开发各种系统如,人事管理系统、仓库系统、进存销系统等,对于经常要处理大量数据工作的朋友,学会了这套VBA教程你的工作将游刃有余。
标题Excel VBA基础教程Excel VBA基础教程第一章:Excel VBA基础知识1-1、Excel VBA教程简介1-2、宏在工作中的运用1-3、Excel VBA基础1-4、Excel VBA窗口介绍1-5、Excel VBA代码编写规则1-6、对象1-7、属性1-8、方法1-9、常量与变量1-10、数据类型1-11、判断语句之IF1-12、判断语句IF之多条件1-12B、If条件判断小结1-13、判断语句之SELECT1-14、循环语句之DO...LOOP1-15、循环语句之DO...LOOP实例1-16、循环语句之DO WHILE...LOOP1-17、循环语句之DO UNTIL...LOOP1-18、循环语句之WHILE与UNTIL位置变化1-18B、DO...LOOP 语法小结1-19、.循环语句之FOR EACH...NEXT1-20、循环语句之FOX...NEXT1-20B、For...NEXT小结与实例1-21、用语句FOR...NEXT制作九九乘法表1-22、exit与end语句1-23、跳转语句1-24、错误分支语句1-25、with语句1-26、VBA与公式1-27、VBA与函数11-28、VBA与函数21-29、VBA与运算符1-30、like运算符1-31、like运算符运用1-32.综合运用(盘点清单核对)第二章:Excel工作簿和工作表操作2-0、工作簿与工作表基础知识2-1、工作簿的表示方法2-2、当前工作簿与活动工作簿2-3、工作簿基础操作2-4、工作簿实例应用2-5、工作表的表示方法2-6、工作表集合应用2-7、工作表增加与删除2-8、工作表增加删除实例2-9、工作表移动与复制2-10、工作表选择与激活2-11、工作簿综合运用(拆分工作簿)第三章:Excel单元格区域操作3-0、EXCEL单元格基础3-1、Range引用基础13-2、Range引用基础23-3、Range引用与变量3-4、Range引用与索引值3-5、Range引用与索引值应用(有条件的平均工资)3-6、Cells 单元格引用基础3-7、单元格简写3-8、三种单元格引用小结3-9、行、列引用3-10、row与column属性3-11、单元格的值与地址3-12、单元格移动与复制3-13、行列插入与删除3-14、活动单元格与选择区域3-15、UsedRange已使用区域(条件统计)3-16、currentregion当前区域3-17、单元格的Offset(给工资条加、减表头)3-18、单元格的resize(单据数据保存)3-19、单元格所在行与列(删除空行)3-20、specialcells定位(按批注汇总)3-21、FIND单元格查找技术3-22、单元格查找应用(制作查询系统)3-23、FIND实例应用(进销存之入库单)3-24、FIND实例应用(进销存之入库单)3-25、单元格END属性3-26、单元格END属性应用(查找分期付款最后月份) 3-27、最后的格格3-28、单元格并集(Union)3-29、单元格并集应用(条件筛选)3-30、单元格交集(Intersect)3-31、单元格式之数字格式3-32、单元格式之字体(VBA实现条件格式)3-33、给你点颜色看看(底纹颜色讨论)3-34、单元格式实例(工资条格式化)3-35、利用查找颜色拾取进行颜色汇总3-36、粘贴3-37、选择性粘贴3-38、合并单元格(相同部门的合并)3-39、合并单元格实例(取消合并单元格并保持数据)篇二:Excel VBA完全教程一、VBA 语言基础第一节标识符一.定义标识符是一种标识变量、常量、过程、函数、类等语言构成单位的符号,利用它可以完成对变量、常量、过程、函数、类等的引用。
第1章Range(单元格)对象Range对象是Excel应用程序中最常用的对象,一个Range对象代表一个单元格、一行、一列、包含一个或者更多单元格区域(可以是连续的单元格,也可以是不连续的单元格)中选定的单元格,甚至是多个工作表上的一组单元格,在操作Excel 内的任何区域之前都需要将其表示为一个Range对象,然后使用该Range对象的方法和属性。
技巧1 单元格的引用方法在VBA中经常需要引用单元格或单元格区域区域,主要有以下几种方法。
1-1使用Range属性VBA中可以使用Range属性返回单元格或单元格区域,如下面的代码所示。
#001 Sub RngSelect()#002 Sheet1.Range("A3:F6, B1:C5").Select#003 End Sub代码解析:RngSelect过程使用Select方法选中A3:F6,B1:C5单元格区域。
Range属性返回一个Range对象,该对象代表一个单元格或单元格区域,语法如下:Range(Cell1, Cell2)参数Cell1是必需的,必须为 A1 样式引用的宏语言,可包括区域操作符(冒号)、相交区域操作符(空格)或合并区域操作符(逗号)。
也可包括美元符号(即绝对地址,如“$A$1”)。
可在区域中任一部分使用局部定义名称,如Range("B2:LastCell"),其中LastCell为已定义的单元格区域名称。
参数Cell2是可选的,区域左上角和右下角的单元格。
运行Sub RngSelect过程,选中A3:F6, B1:C5单元格区域,如图1-1所示。
图1-1 使用Range属性引用单元格区域注意如果没有使用对象识别符,Range属性返回活动表的一个区域,如果活动表不是工作表,则该属性无效。
1-2使用Cells属性使用Cells属性返回一个Range对象,如下面的代码所示。
#001 Sub Cell()#002 Dim icell As Integer#003 For icell = 1 To 100#004 Sheet2.Cells(icell, 1).Value = icell#005 Next#006 End Sub代码解析:Cell过程使用For...Next语句为工作表中的A1:A100单元格区域填入序号。
ExcelVBA学习笔记Excel篇锁定区域第一步、选中所有单元格然后右键“设置单元格格式”选中保护选项卡,取消”锁定和隐藏复选框”的勾。
第二步、选中要锁定的单元格(也就是要保护的单元格),右键“设置单元格格式”选中保护选项卡,把”锁定和隐藏复选框”前面的勾上。
第三步、在“审阅(offeic2007版)”,“(offic2003版,在工具/保护/保护工作表)”菜单栏下找到保护工作表,弹出对话框,把“选定锁定单元格“的勾去除,把“选定未锁定的单元格”的复选框勾选(这样的话锁定的单元格将无法选取)。
如果需要可以继续插入行列,则需要在对话框里勾选“插入行“或“插入列“。
这里可以选择是否设置密码。
冻结窗口1、单击行编号(1,2,3……)—窗口—冻结窗口,可以实现编号上边的行被冻结;2、点击列标(A,B,C……)—窗口—冻结窗口,可以实现列标签左边部分被冻结;3、点击单元格—窗口—冻结窗口,可以实现单元格左边部分和上边同时被冻结。
数据列排序首先选择标题行,然后点击菜单栏的“数据”—“筛选”—“自动筛选”。
日期函数1. 计算某个月份的数据总和(日期列B,数据列D,指定日期B14)=SUMPRODUCT((MONTH($B$3:$B$400)=MONTH(B14))*$D$3:$D$400)2. 计算某个时期的数据总和(日期列B,数据列F,指定日期C4/C5)=SUMPRODUCT((B$3:B$400<=C5)*(B$3:B$400>=C4)*F$3:F$400)3. 时间判断函数,如果今天与指定日期l6的日期间隔小于30天,显示"需要续租"=IF(DATEDIF(TODAY(), I6, "d")<30, "需要续租","正常")函数技巧1. 使用$来锁定行或列,以后拖拉单元格时不会自动变化,例如=sum(F$3:F$400)2. 用连字符“&”来合并文本(此处假定将B、C、D列合并到一列中)=B1&C1&D13. 文本提取函数(RIGHT,LEFT,MID)=MID(A5,4,2)4. 财务填充函数(REPT)在A2单元格里的数字结尾处用“#”号填充至16位=A2&REPT("#",16-LEN(A2))5. 引用其他数据表的单元格<数据表名>!<单元格名>自定义数据颜色在工资表中,如果想让大于等于2000元的工资总额以“红色”显示,大于等于1500元的工资总额以“蓝色”显示,低于1000元的工资总额以“棕色”显示,其它以“黑色”显示,我们可以这样设置。
VBA|Excel宏与VBA的12个关键知识点(小白进阶篇)1 VBA代码编辑器VBE的“模块”1.1 打开VBE(快捷键是alt+F11)→插入,即可在工程列表的“模块”下插入模块;1.2 录制的“宏”在工程列表的“模块”下查看;1.3 自定义sub过程或函数在工程列表的“模块”下编写;(网上共享的代码复制到此处即可使用)2 录了一个宏Marco1后,如何再接着录?•执行Marco1;•录制宏Marco2;•将录制的宏Marco2的内容复制到Marco1后。
3 某列的最后非空行Dim Lrow As LongLrow = Range('B' & Cells.Rows.Count).End(xlUp).Row - 14 行号与行数Range('B2').Value = ActiveCell.RowRange('B3').Value = Sheets(1).UsedRange.Rows.Count5 ThisWorkbook和ActiveWorkbookThisWorkbook指当前VBA代码所处的Workbook,ActiveWorkbook指当前活跃的Workbook相同点:如果VBA代码只对本身工作簿进行操作,则一直是相同的。
不同点:若VBA代码新建或打开了其它工作簿,则往往新建的或刚打开的是Activeworkbook,可以通过“工作簿名。
active”方法激活指定对象。
活动工作表和活动单元格:如Sheets('Sheet2').Activate即可得到ActiveSheet对象。
如cells(1,1).select,即可得到ActiveCell对象。
6 UsedRange和CurrentRegionUsedRange和CurrentRegion(不区分大小写)是应用非常频繁的两个属性,Usedrange是工作表的属性,即其使用时应该是sheets(1).usedrange、sheets(2).usedrange这种形式,而currentregion是单元格的属性,即其使用应该是range('A1').currentregion或cells(1,1).CurrentRegion这种形式。
ExcelVBA学习笔记(⼀):单元格、单元格区域的表达式EXCEL表格中我们要处理的数据都位于单元格中,单元格及单元格区域怎么表⽰,就是VBA代码的基本了。
下⾯讲解⼏种常⽤的单元格、单元格区域语法表达式。
1、[A1] 最简单写法。
中括号,⾥⾯写上单元格地址,地址表述形式是列号在前,⾏号在后。
[A1:B10]表⽰A1到B10这么⼀个区域。
中括号内不需要加引号,因为中括号内不能⽤变量。
⽐如 n=10 ,[A1:B&n],是不⾏的。
2、cells(⾏号,列号)。
Cells多⽤于表⽰单个的单元格,参数是“⾏”在前,“列”在后。
Cells(1 , ”A”)表⽰的就是[A1]单元格,注意加引号“A”,不加引号会被认为是变量A。
Cells不带括号就表⽰所有单元格,之前讲到的Cells.Replace就是此⽤法。
带变量的写法:Cells(x, “A”),Cells(1, y),Cells(x,y);数字不能⽤作变量,所以数字1作为参数也不需要加引号。
变量x代表 “⾏”,变量y代表”列”,x的值只能为数字;变量y虽然可以为”A”这样的字符(下图),但通常使⽤中,都是给y赋值为数字。
语法:Cells(数字)还有这样的表⽰,见图:此表达式基本没见使⽤过,不做释义。
3、Range()本意是单元格区域的意思。
常⽤的表达式如下:(1)Range('A1') 就是单元格A1,等同于[A1]。
注意与Cells()的⾏在前,列在后顺序不同。
(2)Range('A1:B5') 从单元格A1到单元格B5区域;也可写为Range(“A1”,”B5”) 中间为逗号。
(3)Range('A1:B5 ,C1:C8') 多块区域的表达式。
(4)Range()带变量,表⽰单个单元格语法如Range(“A” & x) ,x为数字;单元格区域表达式Range('A1:F' & x) 等同于 Range('A1', 'F'&r) ,表⽰从A1到Fr区域范围。
Excel VBA编程的基础与进阶技巧在日常工作和学习中,我们经常会使用Excel来处理数据和进行各种计算。
而Excel VBA编程则可以帮助我们更高效地完成这些任务,并且可以通过编写宏来自动化一些重复性工作。
本文将介绍Excel VBA编程的基础知识和一些进阶技巧,帮助读者更好地掌握这一工具。
一、基础知识1. VBA简介VBA全称为Visual Basic for Applications,是一种基于Visual Basic的宏语言,用于编写Excel宏和自定义函数。
通过VBA,我们可以利用Excel的各种功能和对象,实现自动化的数据处理和分析。
2. VBA编辑器在Excel中,我们可以通过按下Alt+F11快捷键打开VBA编辑器。
VBA编辑器是编写和编辑VBA代码的地方,它由项目资源管理器、代码窗口和属性窗口组成。
在VBA编辑器中,我们可以创建宏和自定义函数,并对它们进行编辑和调试。
3. VBA代码的结构VBA代码由一系列语句组成,每个语句用于执行特定的操作。
VBA代码的结构包括子过程(Sub)和函数(Function),它们分别用于执行一系列操作和返回一个值。
在VBA中,我们可以使用各种变量、运算符、条件语句和循环语句来编写代码,以实现不同的功能。
二、进阶技巧1. 使用对象和属性在Excel VBA中,我们可以使用各种对象和属性来操作和控制Excel的各个元素。
例如,通过Range对象和Value属性,我们可以读取和写入单元格的值;通过Worksheet对象和Cells属性,我们可以访问和修改工作表中的单元格;通过Chart对象和SeriesCollection属性,我们可以操作图表中的数据系列等等。
熟练掌握对象和属性的使用,可以更灵活地操作Excel。
2. 处理数据Excel VBA提供了丰富的数据处理功能,可以帮助我们高效地处理和分析大量数据。
例如,通过使用数组和循环语句,我们可以对数据进行批量处理;通过使用排序和筛选功能,我们可以对数据进行排序和筛选;通过使用数据透视表和图表,我们可以进行数据的汇总和可视化等等。
ExcelVBA自学笔记一、对象、集合、属性与方法介绍1.对象对象就是客观存在的东西,是具体存在的事物,如:桌子、电脑等。
E某celVBA中的对象是指在E某cel里操作和控制的东西,如:工作表、单元格、图片等。
VBA通过代码类操作E某cel,处理数据。
编写VBA程,就是编写VBA语句引用对象,有目的的操作它。
引用对象就是指明对象的位置或名称,把它同集合里的其他对象区别开来。
2.集合集合也是对象,是包含一组相关对象(多个同种类型的对象)的对象,例如,三个工作表是同一类型的对象,可以用“工作表”来称呼它们,“工作表”为集合名称。
只要集合中发生变化,集合中的对象的位置就可能发生变化;因此,集合内任何特定对象的位置均可改变。
3.属性每个对象都有属性。
对象的属性可以理解为对象具有的特点,如颜色。
对象的属性还可以理解为对象包含的其它对象。
书写时,对象和属性之间用点(.)连接,对象在前,属性在后。
例如:Sheet1工作表的A1单元格,表示为Workheet(“heet1”).Range(“A1”)4.方法每个对象都有方法。
方法是指在对象上执行的某个动作,例如:打开工作簿、复制工作表、选中单元格,这里的打开、复制、选中即为在对象上执行的动作。
对象和方法之间用点(.)连接,对象在前,方法在后。
例如:选中A1单元格,表示为Range(“A1”).Select二、变量变量用来保存程序运行过程中需要临时保存的数据或对象。
声明变量就是指定变量的名称和可以存储的数据类型。
语法:Dim变量名A数据类型声明变量有如下4种语法:Dim变量名A数据类型本地变量Private 变量名A数据类型模块级变量Public变量名A数据类型公共变量Static 变量名A数据类型静态变量变量的作用域:决定该变量可以在哪个模块中使用。
本地变量:在一个过程中使用Dim或Static语句声明的变量,只有声明变量的语句所在的过程可以使用它。
(作用域为当前过程)模块级变量:在模块的第一个过程之前使用Dim或Private语句声明的变量,该模块里的所有过程都可以使用它。
EXCEL学习笔记之VBA1、变量如果给对象项变量赋值,必须用set关键词如Set sheet=Activesheet如果加上Option Explicit则变量必须先声明后使用2、设置函数为易失性函数,让自定义函数也能重新计算秩序在Function过程中添加一行代码即可.Application.Volatile True ‘将函数设置为易失性函数3、声明动态数组(1)可以用 Dim 数组名称() As 数据类型(2)可以使用Array创建数组,如Dim arr As Variantarr=Array(1,2,3,4);(3)可以使用SplitDim arr2 As Variantarr=Split(“叶枫”,“张三”);(4)数组常用运算UBound(数组名称);’数组的最大索引号LBound(数组名称);’数组的最小索引号(5)用Join函数将一位数组合并组合成字符串arr=Split(“叶枫”,“张三”);Txt=Join(arr,”,”); ‘第二个参数为分隔个元素的分隔符,如果省略,默认使用空格。
(6) 将数组中的数据写入单元格区域arr=Split(1,2,3,4,5,6);Range.(“a1:A6”).Value=Application.WorksheetFunction.tra snpose(arr)‘transpose函数为行列转置的作用,如果只有一行不需要使用,直接赋值arr即可。
4、在vba中直接使用工作表函数要加前缀Application.WorksheetFunction如:Application.WorksheetFunction.Sum(“a1:b2”);5、区域的选择(1)引用多个不连续的区域无论有多少区域,参数都只有一个字符串,参数中各个区域的地址用逗号分隔Range("A1:B2,c1:d2").Select(2)引用多个区域的公共区域可以将Range属性的参数设置为一个用空格分隔的多个单元格地址组成的字符串如:Range("B1:B10 A4:D6").Select(3)引用两个区域围成的矩形区域设置两个用逗号隔开的参数,就可以引用这两个区域围成的矩形区域,注意与第(1)中情况的区别Range("A1:B2”,”c1:d2").Select(4)使用cells属性引用单元格Range(Cells(1,1),Cells(10,5)).Select或者Range(“A1”,”E10”).Select(5)可以使用union合并多个单元格区域Application.Union(Range("A1:B2"), Range("c1:d2")).Select '同时选中两个区域(6)Worksheet对象的UsedRange和CurrentRegion属性UseRange属性返回的总是一个矩形区域,无论这些区域是否存在空行、空列。
第一篇Excel VBA基础第一章Excel VBA 基础知识技巧1、录制宏并获取有效的代码使用宏录制器是获取Excel VBA代码最简单的方式,尤其是对于没有任何编程经验的VBA学习者。
例如希望在VBA中使用的Excel的“高级筛选”功能从图1-1所示的Database工作表的数据表中获得在图1-2所示的Result工作表内指定的日期范围内的数据,并将数据复制到以单元格B5开始的单元格区域。
其中“宏名”文本框显示为默认的名称“Macro1”,建议修改为有意义的名称,在“快捷键”文本框中输入的字母将作为运行宏的组合键即<Ctrl+Shift+字母>。
在“保存在”下拉列表扣列出了保存录制宏的3个位置:当前工作簿,新工作簿和个人宏工作簿,选择“当前工作簿”将宏保存在活动工作簿中,选择“新工作簿”将宏保存在一个新的空工作簿,选择“个人宏工作簿”将宏保存在名为Personal.xls的特定文件中,启动Excel时会自动地装载该文件。
在“说明”文本框中添加宏的注释,即显示在代码顶部的文字,用来提供与该宏相关的信息。
通常在录制宏之前,应规划好操作步骤,尽可能少地录制不必要的操作。
Step2 单击“确定”按钮开始录制宏。
此时会出现工具栏,包含两个按钮:“停止录制”按钮和“相对引用”按钮。
单击“停止录制”按钮将停止录制操作,单击“相对引用”按钮将以相对于当前单元格的方式录制操作。
默认的情况下,Excel采用绝对引用的方式录制宏。
注意:此时工作簿状态栏中会出现“录音”的提示,菜单也由“录制新宏”变为“停止录制”。
Step3 在Excel中进行操作。
单击菜单“数据”→“筛选”→“高级筛选”,在打开的“高级筛选”对话框中选中“将筛选结果复制到其他位置”单选按钮。
Step4 在“高级筛选”对话框中单击“列表区域”文本框,然后用鼠标选定Database工作表中A1:F10单元格区域,即原始数据列表。
Step5 在“高级筛选”对话框中单击“条件区域”文本框,然后用鼠标选定Result工作表中的B2:C3单元格区域,即指定的日期范围。
Excel中VBA编程学习笔记(九)1、获取工作表数量及选中、激活工作表Private Sub test()Dim count As Integercount = Worksheets.count '获取工作表数量Dim name As Stringname = Worksheets(1).name '获取第一个工作表名称Worksheets(count).Select '选中最后一个工作表Worksheets(Array('StudentAttendence','studentsScore')).Select '选中多张工作表,可以同时对这些工作表进行操作Worksheets('sheet1').Activate '激活表名为sheet1的工作表End Sub注:对于激活的工作表可以使用ActiveSheet表示。
选中的工作表与激活的工作表不同,选中的工作表可以有多个,但是激活的工作表只有一个。
一般点击工作表的标签时候就会激活该工作表。
2、删除批注【例1】删除工作表中的所有批注Private Sub test()Dim tmp As CommentFor Each tmp In mentstmp.DeleteNextEnd Sub【例2】删除选中区域的所有批注Sub test2()For Each rng In SelectionIf Not ment Is Nothing Thenrng.ClearCommentsEnd IfNextEnd Sub3、添加批注及批注属性设置Range.AddComment添加批注。
If Worksheets(1).Cells(1, 1).Comment Is Nothing Then '判断是否存在批注Worksheets(1).Cells(1, 1).AddComment '添加批注Worksheets(1).Cells(1, 1).Comment.Visible = True '设置批注可见Worksheets(1).Cells(1, 1).Comment.Text Text:='Hello'Worksheets(1).Cells(1, 1).Comment.Shape.AutoShapeType = 9 '设置为椭圆形End If注:批注中的text必须设置为字符串类型,否则不显示批注内容。
excelvba学习总结【篇一:01-excel vba 学习总结 - 基础知识】excel vba 学习总结 - 基础知识1.什么是vba?当前辈们使用excel的时候,他们惊奇的发现:excel那是相当的彪悍,几乎任何的数据分析与处理,它都可以近乎完美(实际上不可能完美)完成。
但是在使用的过程中,他们也同样发现,有很多工作是要重复做的。
如果要想自动重复的完成这些工作,必须要借助其他的编程语言和工具。
微软为了简化这个过程,开发了一个通用的自动化语言,这个就是vba(visual basic for application)。
所有支持vba的应用程序都可以方便的自动化执行某些固定的步骤,除此以外,支持vba的应用程序之间也可以通过vba这个平台进行互操作。
由于这里讨论的是excel中的vba,所以我后面的总结内容都是以excel中的vba为主。
vba是vb的一个子集,它们之间有些地方是不同的:? vb程序可以独立的部署和运行,但是vba程序不能离开宿主程序运行。
vb程序是一个编译型的语言,程序需要编译后执行,而vba程序是解释执行的脚本语言。
?2.vba能做什么?知道了vba是什么东东后,那么它能干什么呢?确定的说,vba基本能做一切excel能做的事,比如打印,生成报表,分析数据,生成图表等,这是vba最大的优点。
不需要额外实现这些标准的功能,只需要简单的调用就可以了,excel已经做好了一切准备。
除了这个好处,vba其实还能处理很多的任务:? 自定义excel的外观,菜单,工具栏等。
重复执行自动化操作。
操作文件和文件夹访问数据库并执行相关操作访问网络操作xml获取系统信息操作和自动化office其它组件(支持vba的其他公司的产品也可以操作) ? ? ? ? ? ? ?除了上述的任务外,vba还有很多其它的功能有待发掘。
3. vba与macromacro是一组excel能理解并执行的命令集合。
第一章、ExcelVBA基础知识01-01、Excel VBA简介1.VBA是什么,能干什么VBA可以说是一种编程语言,是VB的分支VBA的作用,可以将重复的Excel工作简单化2.VBA具备的基础知识2.1基础操作,能发现Excel软件的局限性2.2有一定的函数功底2.3会VB语言(会VB语言更好,不一定一定需要)3.保存Excel启用宏工作簿,可以防止代码丢失01-02、宏在工作中的运用1.宏的定义宏:macro 形容词:巨大的,大量的,宏观的名词:【电脑】巨(宏)指令定义:椅子可以自动执行的代码(VBA)录制宏相当于摄像机的功能2.录制宏在开发工具中的录制宏中进行宏的录制重复执行相同的操作。
可以考虑用宏总结:优点:重复执行相同操作,提高工作效率确定:不够智能化,无法交互工作,代码冗余解决方法:VBA 即是用写代码的方法代替录制宏3.宏在Excel中的地位虽然宏看起来不够灵活,但对于学习VBA编程是非常重要的。
3.1提高代码编写效率3.2帮助学习VBA知识01-03、VBA基础知识1.VBA概念Visual Basic for Applications(VBA)是一种Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能VBA是寄生于VB应用程序的版本,必须依赖于父程序,如EXCEL,CAD,CORELDRAW2.VBA和VB的区别2.1. VB是编写应用程序,而VBA是使已有的应用程序(EXCEL、CAD)自动化2.2.VB具有自己的开发环境,而VBA必须寄生于已有的应用程序.2.3.运行VB开发的应用程序,不必安装VB,而VBA开发的程序必须依赖于它的父应用程序3.VBA的用途3.1.规范用户的操作,控制用户的操作行为3.2.操作界面人性化,方便用户操作3.3.多步骤,重复步骤可以通过执行VBA代码来迅速实现3.4.实现一些无法实现的功能4.VBA功能展示01-04、Excel VAB窗口介绍1.VBE就是VBA的编辑窗口1.1按住ALT+F11快捷键1.2开发工具-Visual Basic2.VBE窗口简介2.1立即窗口:即使可以看到结果2.2本地窗口:按F8键可以看到程序运行的步骤和每一步的结果3.过程(子过程和函数过程)3.1一般过程Sub aaa()3.2自定义函数过程Function ff()End Functiom4.第一个VBA程序Sub 我的第一个程序()MsgBox "我会VBA啦!"End Sub5.运行宏的方法,直接运行和图像运行图像运行:在Excel菜单中点插入--图形--画一个图形--点击图形右键--指定宏--确定即可01-05、Excel VBA代码编写规则1.VBE常见的设置1.1工具--选项里面可以修改编写代码时的字体颜色和字号等1.2注释不会参与运行,开发自己看的,需要在代码前加单引号(’)统一加上解除注释块:选上工具栏的工具--右键--调出编辑窗口,上面有一个解除注释块和一个设置注释块。
第一章 VBA 基础知识1-2 宏在工作中的运用1.宏的定义宏:macro形容词:巨大的;大量的;宏观的名词:[电脑]巨(宏)指令定义:一组可以让自动执行的代码(VBA)宏的录制相当于摄像机的功能。
2.总结:优点:重复执行相同操作,提高工作效率缺点:不够智能化,无法交互工作,代码冗余解决方案:VBA3.宏在excel中的地位虽然看起来不够灵活,但对于学习VBA编程却非常重要。
1.提高代码编写效率2.帮助学习VBA知识1-4 代码编写规则代码换行(下划线+空格+换行)Sub aa()Msgbox _“学习VBA”End sub1-7 属性VBA属性:指对象所具有的特性人的属性:姓名、年龄、身份证号、住址……VBA对象属性的赋值Sub 属性赋值()=”改变自己”Sheet2.range(“a1”)=”学习VBA”End sub1-8 方法方法:实际上就是对对象的操作,它是一种动作,一种行为。
Sub 选择方法()Range("a1:a10").SelectEnd SubSub 复制方法()Sheets(1).Range("a1:a10") = 1Sheets(1).Range("a1:a10").CopySheets(2).Range("a1")End SubSub 删除方法()Sheets(3).DeleteEnd Sub1-9 常量与变量1.常量:常量是定义了之后就不做变化了。
常量定义格式:const 常量名=常量表达式2.变量:在定义之后还能再次赋值变量定义格式:dim 变量 as 变量类型3.A.VBA允许使用未定义的变量,默认是变体变量(Variant)B.变量的强制声明:Option explicit4.变量名的命名规则以字母开头不能用保留字不超过255个字符同一范围内必须是唯一1-10 数据类型类型注释简写占用内存Integer 整型%2byteSingle 单精度!4byteDouble 双精度# 8byteLong 长整型& 4byteString 字符型$ 定长或变长Currency 货币型@ 8byte1-12 IF语句VBA中的IIF函数与工作表函数IF的语法结构一致Sub iif函数应用()Cells(2,3)=iif(cells(1,2)>80,”优秀”,”不优秀”)End sub1-12B1.单行形式1(if…then)If 条件判断 then 条件成立结果注意:在单行形式中,按照if…then判断的结果也可以执行多条语句。
VBA基础入门VBA的功能实在太强大,可初学的我们,面对那一串串尤如外星文的代码,你是不是看得头昏脑胀?想学,是不是却茫然得找不到入口?在这里,我把我自己的学习心得和笔记放出来,和大家一起分享交流,一起学习,共同进步。
对了,还要告诉大家,我也是初学者,不是高手,如果有什么说得不对的,希望大家及时指出。
我的目的不是教学,而是期望创造一个有你,有我,有他的学习氛围!开始吧,记住一个共同的目标——掀开那层神秘的面纱,看看VBA的真实面目。
-----贴子内容---1、什么是VBA?为什么要学习VBA2、VBA与宏3、VBE简介4、对象、属性、方法、事件5、VBA过程6、数据类型、变量、数组、常量7、(回复)该定义变量为何种数据类型8、VBA的函数9、程序流程控制:if语句10、程序流程控制:Select Case语句11.程序流程控制:For—next语句12、几个for—next 循环的例子(作者:老朽13、程序流程控制:For—Each语句14、程序流程控制:Do While语句15、程序流程控制:Do Until语句16、程序流程控制:Go to 语句17、用户窗体18、再说Excel的对象模型19、[小试牛刀]制作一个个性化的欢迎界面20、处理单元格数据(复制、剪切、删除21、Range对象的End 属性(带作业)22、花名册分类(实例)23、花名册汇总(实例24、新建工作表25、认识数组(一)26、Worksheet的Change事件(带作业)27、关于Application.EnableEvents属性(有实例动画)Application.EnableEvents补充说明28、关于Worksheet的SelectionChange事件(有实例动画)29、Worksheet的SelectionChange事件实例(trustwxq 朋友提供)什么是VBA?为什么要学习VBA?========VBA是Visual Basic For Application的简称,具体说来,可能让叶枫三天三夜也说不完,叶枫也只知道VBA是建立在Office中的一种应用程序开发工具,其实知道这也就够了。