Excel VBA教程
- 格式:docx
- 大小:21.08 KB
- 文档页数:3
如何在VBA中操作Excel表格VBA是一种编程语言,可以通过编写代码来操作Excel表格。
由于Excel是广泛使用的电子表格软件,掌握在VBA中操作Excel表格的技巧将极大地提升工作效率。
本文将介绍如何使用VBA在Excel中进行数据读取、写入、修改和删除等操作,帮助您更好地利用VBA实现数据处理和管理。
1. 数据读取在VBA中实现Excel表格的读取可以通过使用“Workbooks”对象。
首先,我们需要打开一个Excel文件,然后选择一个特定的工作表,并通过指定行和列的位置来访问和读取数据。
以下代码演示了如何在VBA中读取Excel表格中的数据:```Sub ReadData()Dim wb As WorkbookDim ws As WorksheetDim cell As RangeSet wb = Workbooks.Open("文件路径") '替换为要打开的Excel 文件的路径Set ws = wb.Worksheets("工作表名") '替换为要读取数据的工作表的名称For Each cell In ws.Range("A1:E10") '替换为要读取数据的单元格范围'处理读取到的数据,可以将其输出到控制台或进行其他操作Debug.Print cell.ValueNext cellwb.Close '关闭Excel文件End Sub```代码中,通过设置“wb”和“ws”变量,我们可以分别引用Excel文件和工作表。
然后,通过在循环中遍历指定的单元格范围来读取数据。
最后,关闭Excel文件以释放资源。
2. 数据写入与数据读取类似,使用VBA在Excel表格中写入数据同样需要使用“Workbooks”对象。
我们需要先打开一个Excel文件,并选择要写入数据的工作表。
然后,通过指定行和列的位置来写入数据。
Excel_VBA_编程教程(完整版)excel高级教程VBA - Excel编程概念之:【单元格和区域】一、如何引用单元格和区域使用Visual Basic的普通任务是指定单元格或单元格区域,然后对该单元格或单元格区域进行一些操作,如输入公式或更改格式。
通常用一条语句就能完成操作,该语句可标识单元格,还可更改某个属性或应用某个方法。
在Visual Basic中,Range 对象既可表示单个单元格,也可表示单元格区域。
下列主题说明了标识和处理Range对象最常用的方法。
用A1样式记号引用单元格和单元格区域可使用Range属性来引用A1引用样式中的单元格或单元格区域。
下述子程序将单元格区域A1:D5的字体设置为加粗。
Sub FormatRa nge()Workbooks("Book1").Sheets("Sheet1").Ra nge("A1:D5") _.Font.Bold :End Sub下表演示了使用=TrueRange属性的一些A1样式引用。
引用Ran ge("A1") Range("A1:B5") 含义单元格A1从单元格A1到单元格B5的区域Ra nge("C5:D9,G9:H16")多块选定区域Ran ge("A:A") Ran ge("1:1") Ran ge("A:C") Ran ge("1:5")A列第一行从A列到C列的区域从第一行到第五行的区域Range("1:1,3:3,8:8") 第1、3 和8 行Range("A:A,C:C,F:F") A、C 和F 列用编号引用单元格通过使用行列编号,可用Cells属性来引用单个单元格。
该属性返回代表单个单元格的Range对象。
EXCEL VBA应用教程--第1讲什么是EXCEL VBA第1讲什么是EXCEL VBA作者:/landmao1.1 为什么要学习EXCEL VBA现在,财务软件已经趋于普及,会计人员的工作效率大幅度提高,减轻了会计人员大工作强度。
财务软件但优点是从数据但输入、处理、输出实现了一体化,在会计数据但利用方面,尽管财务软件一直都作改进,但客观上还是满足不了管理工作但要求。
因此,作实际工作中,EXCEL被大量应用,EXCEL但特点是简单易用,操作灵活,大大地弥补了会计软件地不足。
但是,EXCEL处理数据的缺点是,每一步都要人工操作和控制,对重复性的工作,每次都要重复去作。
EXCEL VBA能够将重复的工作编写成程序,这样就能够提高效率和避免人为操作的错误。
1.2 什么是VBAVBA(Visual Basic For Applications)是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
VBA是Visual Basic的一个子集,VBA 不同于VB,原因是VBA要求有一个宿主应用程序才能远行(需要在EXCEL等软件的运行下才能运行),而且不能用于创建独立应用程序。
而VB可用于创建独立的应用程序。
VBA可使常用的过程或者进程自动化,可以创建自定义的解决方案,最适用于来定制已有的桌面应用程序。
通常意义上的VBA就是在Office中包含着的一种加强Office功能的Basic 语言。
经过发展,在Office中,Word、Excel、Access、PowerPoint等个软件都有了自己的程序设计语言,分别称为WordBasic、ExcelBasic、AccessBasic、PowerPointBasic (在Outlook中的开发语言为Visual Basic Scripting Edition)。
通常统一称为VBA(VB for Application)。
本讲座,主要基于EXCEL VBA进行讲解。
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 语言基础第一节标识符一.定义标识符是一种标识变量、常量、过程、函数、类等语言构成单位的符号,利用它可以完成对变量、常量、过程、函数、类等的引用。
E x c e l V B A编程教程-CAL-FENGHAI.-(YICAI)-Company One1VBA语言的基础认识第一节:标识符一、定义标识符是一种标识变量、常量、过程、函数、类等语言构成单位的符号,利用它可以完成对变量、常量、过程、函数、类等引用。
二、命名规则(1)字母打头,由字母、数字和下划线组成,如A987b_23Abc(2)字符长度小于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、Is(5)位运算符 Not(逻辑非)、And(逻辑与)、Or(逻辑或)、Xor(逻辑异或)、Eqv(逻辑等)、Imp(隐含)第三节:数据类型VBA共有12种数据类型,具体见下表,此外用户还可以根据以下类型用Type 自定义数据类型。
数据类型类型标识符字节字符串型 String $ 字符长度(0-65400)字节型 Byte 无1布尔型 Boolean 无2整数型 Integer % 2长整数型 Long & 4单精度型 Single !4双精度型 Double # 8日期型 Date 无8公元100/1/1-99/12/31货币型 Currency @ 8小数点型 Decimal 无14变体型 Variant 无以上任意类型,可变对象型 Object 无4第四节:变量与常量(1)VBA允许使用未定义的变量,默认是变体变量(2)在模块通用说明部分,加入Option Explicit语句可以强迫用户进行变量定义(3)变量定义语句及变量作用域Dim 变量 as 类型’定义为局部变量,如 Dim xyz as integerPrivate 变量 as 类型’定义为私有变量,如 Private xyz as byte Public 变量 as 类型’定义为公有变量,如 Public xyz as singleGlobal 变量 as 类型’定义为全局变量,如 Global xyz as date Static 变量 as 类型’定义为静态变量,如 Static xyz as double一般变量作用域的原则是,那部分定义就在那部分起作用,模块中定义则在该模块那作用。
Excel-VBA基础入门教案第一章:VBA概述1.1 了解VBA的概念解释VBA的含义和作用介绍VBA与其他编程语言的区别1.2 VBA的应用场景展示VBA在Excel中的实际应用案例讨论VBA在提高工作效率方面的优势1.3 VBA的安装和设置指导学生安装VBA宏功能演示如何设置VBA的运行环境第二章:VBA编程基础2.1 VBA编程环境介绍VBA的编程界面和工具栏演示如何新建和使用模块2.2 变量和数据类型讲解变量的概念和作用介绍常用的数据类型及其使用方法2.3 常用操作符和表达式解释算术、比较和逻辑操作符的含义和用法展示如何使用这些操作符进行计算和判断第三章:VBA控制结构3.1 顺序结构讲解顺序结构的含义和作用演示如何使用顺序结构编写简单的宏3.2 选择结构解释选择结构的含义和作用展示如何使用选择结构根据条件执行不同代码块3.3 循环结构讲解循环结构的概念和类型演示如何使用循环结构重复执行代码块第四章:常用VBA函数4.1 数学函数介绍数学函数的作用和用法演示如何使用数学函数进行计算4.2 文本函数讲解文本函数的含义和用途展示如何使用文本函数处理字符串4.3 日期和时间函数解释日期和时间函数的概念和用法演示如何使用日期和时间函数获取当前日期和时间第五章:Excel对象和集合5.1 Excel对象模型介绍Excel对象模型的结构和主要对象演示如何使用对象模型操作Excel对象5.2 工作簿和工作表操作讲解如何创建、打开、关闭和复制工作簿和工作表演示如何使用VBA操作工作簿和工作表5.3 单元格操作解释如何选取、修改和格式化单元格展示如何使用VBA操作单元格数据和格式第六章:VBA代码调试技巧6.1 了解调试工具介绍Excel VBA开发工具栏中的调试工具演示如何使用调试工具进行断点设置、单步执行等操作6.2 使用错误处理结构讲解错误处理结构的概念和用法展示如何使用错误处理结构提高代码的健壮性6.3 常见错误类型及解决方法分析常见的VBA错误类型及其原因提供解决这些错误的常用方法和技巧第七章:用户界面设计7.1 认识用户界面设计解释在VBA中创建用户界面的意义和作用介绍常用的用户界面设计工具和组件7.2 常用用户界面设计组件讲解标签、按钮、文本框等组件的属性和事件演示如何使用这些组件创建个性化的用户界面7.3 界面与代码的交互解释界面组件与VBA代码之间的交互原理展示如何通过用户界面组件控制代码的执行流程第八章:文件操作8.1 文件系统对象(FSO)介绍文件系统对象的概念和主要方法演示如何使用FSO进行文件和目录的操作8.2 文件读写操作讲解在VBA中进行文件读写操作的原理和方法展示如何读取和写入文本文件、Excel文件等8.3 实现文件操作实例提供文件操作的实际案例,让学生学会如何应用所学知识第九章:VBA高级应用9.1 数组和集合讲解数组和集合的概念、作用和用法展示如何使用数组和集合存储和管理大量数据9.2 递归算法解释递归算法的概念和特点演示如何使用递归算法解决实际问题9.3 动态对象创建介绍动态对象的概念和作用展示如何动态创建和使用对象第十章:综合实例开发10.1 实例简介介绍一个综合实例的项目背景和需求分析10.2 需求分析与设计分析项目的需求,设计相应的功能模块10.3 编码实现使用所学的VBA知识,编写代码实现项目功能10.4 测试与优化对项目进行测试,找出并修复可能存在的错误根据测试结果对项目进行性能优化第十一章:Excel Add-In 开发11.1 Add-In 概念介绍解释Add-In 的含义和作用介绍Add-In 的类型及其应用场景11.2 创建和部署Add-In讲解如何创建自定义Add-In演示Add-In 的部署和安装方法11.3 Add-In 高级编程探讨Add-In 的高级编程技巧展示如何扩展Excel 功能和使用体验第十二章:VBA与外部数据交换12.1 了解外部数据交换解释VBA 与外部数据交换的意义和作用介绍常见的外部数据源及其应用场景12.2 使用ADO 连接外部数据讲解ADO (ActiveX Data Objects) 的概念和用法演示如何使用ADO 连接和操作外部数据源12.3 导入和导出数据讲解如何导入和导出数据的方法和技巧展示如何使用VBA 导入和导出Excel 数据第十三章:VBA网络编程基础13.1 网络编程概述解释网络编程的概念和作用介绍网络编程的基本技术和方法13.2 使用WinINet类讲解WinINet 类的作用和用法演示如何使用WinINet 类进行基本的网络操作13.3 实现网络数据获取探讨如何使用VBA 实现网络数据的获取展示如何应用网络编程技术获取网络数据第十四章:VBA安全性和权限管理14.1 了解VBA安全性解释VBA 安全性的概念和重要性介绍VBA 安全性的常见问题和应对策略14.2 宏和VBA代码的安全性讲解如何保护宏和VBA 代码的安全性展示如何防止宏和代码被篡改或滥用14.3 权限管理解释权限管理的概念和作用演示如何实现VBA 代码的权限管理第十五章:VBA编程最佳实践和技巧15.1 编程规范和习惯讲解编程规范和习惯的重要性介绍VBA 编程中的常见规范和习惯15.2 代码优化和重构解释代码优化和重构的概念和作用演示如何进行VBA 代码的优化和重构15.3 高效编程技巧探讨VBA 编程中的高效技巧和策略展示如何提高VBA 代码的执行效率和性能重点和难点解析本文主要介绍了Excel-VBA基础入门的相关知识,涵盖了VBA的概念、应用场景、安装和设置、编程基础、控制结构、常用函数、Excel对象和集合、代码调试技巧、用户界面设计、文件操作、VBA高级应用、综合实例开发、Add-In开发、外部数据交换、网络编程基础、安全性和权限管理以及编程最佳实践和技巧等方面的内容。
excel vba -自学手册Excel VBA (Visual Basic for Applications)是一种用于自动化处理Microsoft Office应用程序(如Excel、Word和PowerPoint)的编程语言。
通过VBA,用户可以编写自定义的代码来执行各种任务,从简单的数据处理到复杂的业务逻辑。
Excel VBA基础首先,让我们来了解一些Excel VBA的基础知识。
在Excel中,使用VBA可以执行以下操作:1.宏录制(Macro Recording):通过录制宏,可以记录用户在Excel中的操作,并将这些操作转化为VBA代码。
然后,可以通过运行这些代码来自动执行录制的操作。
录制宏是入门Excel VBA的一个很好的方法。
2.编写VBA代码:通过自己编写VBA代码,可以实现更高级的自动化任务。
VBA代码可以通过集成开发环境(IDE)中的VBA编辑器进行编写。
VBA代码由一系列语句构成,这些语句可以执行特定的操作,如读取和写入单元格内容,创建图表,处理数据等。
3.事件处理程序:Excel中有许多事件,如单元格内容发生变化、工作表被激活等。
通过编写事件处理程序,可以在这些事件发生时执行特定的代码。
例如,可以在某个单元格的值发生变化时,自动更新其他相关的单元格。
Excel VBA进阶一旦掌握了Excel的基本概念和VBA的基础知识,就可以开始学习更高级的技术和技巧。
以下是一些Excel VBA的进阶主题:1.使用变量和数据类型:在VBA中,可以使用变量来存储数据,并对其进行操作。
了解不同的数据类型(如整数、字符串、日期等),以及如何声明和使用变量是非常重要的。
2.循环和条件语句:使用循环和条件语句,可以执行重复的操作或基于特定条件执行不同的操作。
例如,可以使用For循环来遍历一系列单元格,并对它们进行处理。
3.用户界面(User Interface):通过自定义用户界面,可以创建更友好的用户体验。
excelVBA编程入门教程Excel是有着强大的计算功能的表格处理软件,它拥有很多高级的功能和插件,其中一个非常强大的工具就是Excel VBA编程。
VBA是Visual Basic for Applications的缩写,是一种基于微软Visual Basic的宏编程语言,它能够自定义和自动化Excel应用程序中的各种工具和功能,为Excel用户提供了更高效的工作模式。
本文将介绍Excel VBA编程的入门教程,希望能够帮助初学者快速掌握Excel VBA的基本知识,为更高级的编程奠定基础。
一、Excel VBA编程的基本概念及应用1.1 Excel VBA编程的基本概念Excel VBA编程是将Excel应用程序自定义以满足不同的需求的一种过程,它是一种基于Visual Basic语言的宏编程语言。
它的主要目的是通过编写VBA代码,为Excel的应用程序增加更多的功能,以满足用户的各种需求。
Excel中的VBA程序都是以模块的形式存在于Excel工作簿中,即一个VBA程序就是一个VBA模块。
1.2 Excel VBA编程的应用领域VBA编程可以应用在Excel的各个工作场景中,如:1. 宏编程:可以记录和自动运行宏,实现一些简单的处理任务。
2. 工具开发:可以开发各种Excel插件和工具,比如定制化函数、自己的样式和格式等等。
3. 数据分析:可以对Excel表格数据进行数据处理和分析,如在表格中运行SQL查询,或者导出表格数据到文件中。
4. 程序设计:可以用VBA实现比较复杂的程序设计,例如用VBA编写一个计算器,或者制作一个批处理文件。
二、Excel VBA编程入门教程2.1 Excel VBA编程环境的搭建在执行Excel VBA编程之前需要设置一下运行环境,具体操作步骤如下:1. 打开Excel文件,点击“开发工具”选项卡,勾选“Visual Basic”选项。
2. 在Visual Basic Editor中,点击“插入”菜单,选择“模块”以插入一个新的VBA模块。
使用VBA开发自定义Excel功能的步骤与技巧随着Excel在办公和数据处理方面的广泛应用,需要定制化和自定义功能的需求也日益增加。
使用VBA(Visual Basic for Applications)开发自定义Excel功能是一种强大的方式,通过编写宏和脚本,可以实现个性化的操作和功能。
本文将介绍使用VBA开发自定义Excel功能的步骤和一些技巧,帮助读者快速上手和理解开发过程。
一、了解VBA和Excel对象模型在开始开发自定义功能之前,我们需要了解VBA以及Excel对象模型的基本概念。
VBA是一种基于Visual Basic Programming Language的编程语言,它内置于Excel中,可以让我们通过编写脚本和宏来控制和操作Excel。
而Excel对象模型则是一系列的对象层次结构,用于描述Excel应用程序和工作簿的各个部分。
熟悉VBA和Excel对象模型是开发自定义功能的基础。
二、启用开发选项卡和打开VBA编辑器要开始开发自定义功能,我们首先需要启用Excel的开发选项卡。
在Excel中,依次点击“文件”、“选项”、“自定义功能区”,然后勾选“开发人员工具”,点击“确认”。
此时,我们可以在Excel的顶部菜单栏中看到“开发”选项卡。
接下来,点击“开发”选项卡中的“Visual Basic”按钮,即可打开VBA编辑器。
在VBA编辑器中,我们可以编写、编辑和调试VBA代码。
三、编写VBA代码在VBA编辑器中,我们可以编写各种自定义功能的VBA代码。
以下是一些常用的VBA代码示例:1. 宏的录制与运行:使用VBA可以录制宏并运行,以实现快速的重复操作。
点击“开发”选项卡中的“录制宏”按钮,进行操作后点击“停止录制”即可生成录制的VBA代码。
通过运行宏,可以自动执行该操作序列。
2. 自定义函数:VBA可以创建自定义函数,以扩展Excel的内置函数。
通过编写VBA函数,我们可以实现特定的计算、数据分析等功能,提高Excel的灵活性和可用性。
Excel VBA编程实战技巧与应用案例Excel VBA(Visual Basic for Applications)是一种用于在Excel中自动化任务和定制功能的编程语言。
通过使用VBA,用户可以通过编写宏来提高工作效率,简化重复性任务,并创建自定义的功能和应用程序。
本文将介绍一些Excel VBA编程的实战技巧和应用案例。
一、Excel VBA基础知识1.1 宏录制与编辑Excel VBA的入门方式之一是使用宏录制功能。
通过录制宏,我们可以记录我们在Excel中执行的一系列操作,然后将其转化为VBA代码。
更进一步,我们可以编辑录制的宏,使其适应更复杂的需求。
理解宏录制和宏编辑的基础知识是使用Excel VBA的第一步。
1.2 基本语法和对象模型在Excel VBA中,我们需要学习基本的语法规则和逻辑操作符。
我们还需要了解Excel VBA的对象模型,即如何在VBA代码中引用Excel工作簿、工作表、单元格等对象。
掌握基本语法和对象模型是编写有效的、可维护的VBA代码的基础。
1.3 变量和数据类型了解如何声明变量和使用不同的数据类型是编写复杂的VBA 代码的关键。
通过正确使用变量和数据类型,我们可以提高代码的可读性和可维护性,并减少错误的可能性。
在Excel VBA中,我们可以使用整数、浮点数、字符串、布尔等不同的数据类型。
二、Excel VBA编程技巧2.1 循环和条件语句循环和条件语句是编写复杂VBA代码的基本技巧之一。
在Excel VBA中,我们可以使用For循环、Do循环、While循环等不同的循环类型,以及If语句、Select Case语句等条件语句。
通过灵活运用循环和条件语句,我们可以实现更高效的自动化任务。
2.2 错误处理在编写VBA代码时,我们需要考虑到可能发生的错误并进行相应的处理。
Excel VBA提供了一系列的错误处理方法,如On Error语句和Err对象,可以帮助我们捕捉和处理可能的运行时错误。
本主题包括了在工作表或图表工作表上使用ActiveX 控件的特定信息。
有关添加和处理控
件的一般信息,请参阅在文档中使用ActiveX 控件和创建自定义对话框。
在工作表上处理控件时,必须记住以下几点。
∙除ActiveX 控件可用的标准属性之外,在Microsoft Excel 中还可使用ActiveX 控件的下列属性:BottomRightCell、LinkedCell、ListFillRange、Placement、PrintObject、TopLeftCell和ZOrder。
这些属性可用ActiveX 控件的名称来设置和返回。
下例滚动工作簿窗口,使
CommandButton1 位于窗口的左上角。
Set t = mandButton1.TopLeftCell
With ActiveWindow
.ScrollRow = t.Row
.ScrollColumn = t.Column
End With
∙当ActiveX 控件处于激活状态时,将禁用某些Microsoft Excel Visual Basic方法和属性。
例如,当某一控件处于激活状态时,就不能使用Sort方法,故下述按钮单
击事件过程中的代码将无效(因为用户单击按钮后,该按钮将处于激活状态)。
∙
∙Private Sub CommandButton1.Click
∙ Range("a1:a10").Sort Key1:=Range("a1")
∙End Sub
在使用无效的属性或方法之前,可通过激活工作表上的其他一些元素来避免该问题。
例如,下列代码可对单元格区域排序:
Private Sub CommandButton1.Click
Range("a1").Activate
Range("a1:a10").Sort Key1:=Range("a1")
CommandButton1.Activate
End Sub
∙当用户通过双击嵌入在其他应用程序的文档中的Microsoft Excel 工作簿来对其进行编辑时,该工作簿上的控件无法正常工作。
如果用户用鼠标右键单击工作簿,然
后选中快捷菜单上的“打开”命令,工作簿上的控件将正常工作。
∙用Microsoft Excel 5.0/95 工作簿文件格式保存Microsoft Excel 工作簿时,将丢失ActiveX 控件信息。
工作表上ActiveX 控件的事件过程中的Me 关键字引用的是工作表,而非控件。
用Visual Basic 添加控件
在Microsoft Excel 中,用OLEObjects集合中的OLEObject对象代表ActiveX 控件(所有的OLEObject对象也包含在Shapes集合中)。
若要用编程的方式向工作表添加ActiveX 控件,请用OLEObjects集合的Add方法。
下例向第一张工作表添加命令按钮。
Worksheets(1).OLEObjects.Add "mandButton.1", _
Left:=10, Top:=10, Height:=20, Width:=100
通过Visual Basic 使用控件属性
绝大多数情况下,Visual Basic 代码可用名称引用ActiveX 控件。
下例更改了控件“CommandButton1”的标题。
mandButton1.Caption = "Run"
请注意,当在控件所在的工作表的类模块之外使用控件的名称时,必须用工作表的名称限定该控件的名称。
若要更改在Visual Basic 代码中所用的控件的名称,请先选定该控件,然后在“属性”窗口中设置控件的“(名称)”属性。
因为ActiveX 控件也可用OLEObjects集合中的OLEObject对象代表,所以也可用该集合中的对象来设置控件的属性。
下例设置了控件“CommandButton1”的左边位置。
Worksheets(1).OLEObjects("CommandButton1").Left = 10
没有显示为OLEObject对象属性的控件属性可通过由Object属性返回的实际控件对象来设置。
下例设置了控件“CommandButton1”的标题。
Worksheets(1).OLEObjects("CommandButton1"). _
Object.Caption = "run me"
因为所有的OLE对象也是Shapes集合的成员,所以也可用该集合设置若干控件的属性。
下例对齐第一张工作表上的所有控件的左边缘。
For Each s In Worksheets(1).Shapes
If s.Type = msoOLEControlObject Then s.Left = 10
Next
使用Shapes 和OLEObjects集合的控件名称
工作表上的ActiveX 控件具有两个名称:包含控件的图形的名称(当查看工作表时,可在“名称”框中看到此名称);控件的代码名称(在“属性”窗口的“(名称)”右边的单元格中可看到此名称)。
第一次向工作表中添加控件时,图形名称和代码名称是匹配的。
但是,如果更改其中之一(图形名称或代码名称),另一个名称不会自动随之更改。
在控件的事件过程名称中使用的是控件代码名称,但是,当您从工作表的Shapes 或OLEObjects集合中返回控件时,必须使用图形名称而不是代码名称来通过名称引用控件。
例如,假定要向工作表中添加一个复选框,其默认的图形名称和代码名称都是CheckBox1。
如果通过在“属性”窗口的“(名称)”旁边键入“chkFinished”而更改了控件代码名称,则在事件过程名称中必须使用“chkFinished”,但是您仍然需要使用CheckBox1 来从Shapes 或OLEObject集合中返回控件,如下例所示。
Private Sub chkFinished_Click()
ActiveSheet.OLEObjects("CheckBox1").Object.Value = 1
End Sub。