首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一起学Excel专业开发25:使用类模块创建对象4

在阅读本文之前,建议先阅读下面3篇文章: 1.一起学Excel专业开发22:使用类模块创建对象1 2.一起学Excel专业开发23:使用类模块创建对象2 3.一起学Excel专业开发24:使用类模块创建对象...3.当工作表中单元格被修改时,对应的CCell对象能自动更新。 要获取与对象相关的事件,一般有两个步骤: 1.在类模块中使用WithEvents声明一个对象类型的变量。...集合 Set gclsCells = New CCells Set gclsCells.Worksheet = ActiveSheet '对当前工作表中已使用区域中的每个单元格创建...现在可以来在工作表中体验事件了。 首先,执行CreateCellsCollection过程,将当前工作表赋给事件处理对象。...然后,在工作表中双击某单元格,你会发现同类型的单元格都改为相同的背景色,在其中某个单元格上右击,背景色消失。 ? 图2

74730

一起学Excel专业开发27:使用类模块创建对象6

在阅读本文之前,建议先阅读下面4篇文章: 1.一起学Excel专业开发22:使用类模块创建对象1 2.一起学Excel专业开发23:使用类模块创建对象2 3.一起学Excel专业开发24:使用类模块创建对象...,使之能捕获由CTypeTrigger类所引发的ChangeColor事件,其中对象的ChangeColor事件过程根据bColorOn的值来决定是执行Highlight方法还是UnHighlight方法...Add方法根据单元格类型将相应的maclsTriggers实例分配给各Cell对象,这样每个Cell对象都能接收到应用自已单元格类型的消息。...mwksWorksheet As Excel.Worksheet '声明数组变量 Private maclsTriggers() As CTypeTrigger '添加新属性,引用包含Cell对象的工作表...集合 Set gclsCells = New CCells Set gclsCells.Worksheet = ActiveSheet '对当前工作表中已使用区域中的每个单元格创建

75910
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Excel VBA解读(143): 在自定义函数中使用整列引用时,如何更有效率?

    获取工作表已使用的单元格区域。...另一种更复杂的最小化执行时间的方法是将已使用单元格区域内的行数存储在某个缓存中,并在需要时从缓存中检索它。其中最难的部分是确保已使用单元格区域行缓存总是为空(在这种情况下去获取数字)或包含最新数字。...执行此操作的一种方法是使用Application对象的AfterCalculate事件(在Excel 2007中引入)清空缓存。...Excel 2007之前的Excel版本的等效方法是使用Application对象的SheetCalculate事件清空该特定工作表的缓存。...这种技术的效率较低,因为在每个计算周期中工作表可能被计算几次。 如果想找到包含数据的最后一行,当有许多包含数据的单元格时,使用Range.Find会更快。

    3K20

    EXCEL VBA语句集300

    定制模块行为 (1) Option Explicit ‘强制对模块内所有变量进行声明 Option Private Module ‘标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示...(21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) ‘添加一个新工作表在第一工作表前 (22) ActiveSheet.Move After:...,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮 (27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings ‘切换工作表中的行列边框显示...=2 ‘将页面设置更改为横向 (31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页面设置的表尾中输入文件路径 ActiveSheet.PageSetup.LeftFooter...注意必须使用R1C1样式的表达式  图表 (70) ActiveSheet.ChartObjects.Count ‘获取当前工作表中图表的个数 (71) ActiveSheet.ChartObjects

    2K41

    VBA实战技巧20:选取不同工作表中不同单元格区域时禁止用户执行复制剪切粘贴操作

    excelperfect 在《VBA实战技巧19:根据用户在工作表中的选择来隐藏/显示功能区中的剪贴板组》中,我们讲解了根据用户在工作表中的选择来决定隐藏或者显示功能区选项卡中的特定组的技术。...现在,我们需要用户在不同的工作表中选择不同的区域时,禁止用户执行复制、剪切、粘贴操作。...例如,当用户选择工作表Sheet1列A中的单元格时,不能执行复制、剪切、粘贴操作,同样在选择工作表Sheet2中B2:B15区域时和工作表Sheet3中的列B、列C中的单元格时,也不能执行复制、剪切、粘贴操作...图1:当用户选择的不同工作表中指定的单元格时,不能执行复制、剪切、粘贴操作 首先,我们新建一个工作簿并保存。...End Sub 双击工程资源管理器中的ThisWorkbook模块,在该模块代码窗口中输入下面的代码: Private Sub Workbook_Open() '设置当前选取的单元格的复制粘贴状态

    2.3K20

    用于处理图表&图形的VBA代码大全1

    标签:VBA 图表和图形是Excel最好的功能之一,它们非常灵活,可以用来进行一些非常高级的可视化。本文可以作为在Excel中使用VBA绘制图表的指南。...注意,在Excel 2013中,对图表引擎和文档对象模型进行了许多更改,例如AddChart2方法取代了AddChart方法。因此,本文中提供的一些代码可能无法用于Excel 2013之前的版本。...Chart对象、图表和图表工作表 在Excel的对象层次模型中,许多东西存在于许多地方。例如,图表可以是工作表中的嵌入式图表,也可以是单独的图表工作表。 1.在工作表本身,可以找到图表对象。...每个图表对象(ChartObject)中都有一个图表。实际上,ChartObject是一个包含图表的容器。 2.图表也是一个独立的工作表,它周围没有图表对象(ChartObject)。...创建一个引用ChartObject内的图表的变量: Dim cht As Chart Set cht = Sheets("Sheet1").ChartObjects("Chart 1").Chart 创建一个引用工作表内图表的变量

    71420

    Excel VBA编程

    激活工作簿 保存工作簿 close——关闭工作簿 worksheet对象 add方法新建工作表 设置name属性,更改工作表的标签名称 用delete方法删除工作表 激活工作表的两种方法 用copy方法复制工作表...事件: 在关闭工作簿之前发生 sheetchange事件:更改任意工作表中的单元格时发生 常用的workbook事件 不是事件的事件 application对象的onkey方法 Application对象的...worksheet对象 add方法新建工作表 在活动工作表前插入一张工作表 用before|after参数指定要插入工作表的位置 用count 参数指定要插入的工作表数量 worksheets.add...activesheet.cells(2).value=200 '指定工作表的第二个单元格为200' 引用整行单元格 在VBA中,rows表示工作表或某个区域中所有行组成的集合,要引用工作表汇总指定的行...activesheet.columns("F:G").select '选中活动工作表中的第F-G列' activesheet.columns(3) '选中活动工作表的第6列' 使用union方法合并多个单元格区域

    45.8K33

    Worksheet工作表对象基础

    二、工作表对象集合 在vba代码中,单个对象与对象集合都常用到,工作表对象集合sheets和worksheets集合用于批量处理的情况。...四、Activesheet Activesheet工作表是指当前活动的工作表。 在使用excel时,通常都是在工作簿的一个工作表worksheet中进行编辑。...即该工作表当前是被激活的状态,使用activesheet来表示。 由于activesheet是一个工作表对象,所以引用时就需要注意对象模型的存在。...h = ActiveSheet.CodeName Debug.Print "名称为" & i & " 索引号为" & " codename为" & h End Sub 五、属性和方法 对于工作表对象的属性和方法会在后续详细介绍...工作表的add方法,即添加新的工作表。(VBA对象方法概述) worksheets集合的count属性,即统计工作表集合中工作表对象的数量。

    2.6K10

    【图解】Web前端实现类似Excel的电子表格

    SpreadJS具有以下功能特点: 丰富的数据交互和外观 数据、显示、可视化和分析支持 强大的计算引擎 工作表和单元格级别的数据绑定 数据验证 单元格类型 数据操作 高速、低耗 谁适合阅读本文?...通过利用getCells方法,而不是getCell方法可以操作同时获得在一个范围内的多个单元: // 获得第2行2列 ~ 第4行5列,并设置背景色 var cell = activeSheet.getRange...;使用SpreadJS,也可以使用addSpan方法来合并多个单元格在工作表上,结果如同Excel一样: // 列結合 activeSheet.addSpan(0, 0, 2,...另一方面,以CSV的情况下,我将使用getCsv表对象中,该方法setCsv。Excel作为也就是使用CSV将容纳单元的情况下,输入和输出。也可以指定起始位置和范围,单元格的分隔符。...但应注意的是,能在表4中指定的值来setCsv方法的导入标记。默认为无。

    8.4K90

    VBA专题10-20:使用VBA操控Excel界面之隐藏和取消隐藏控件、组和选项卡

    正如本文开头提到的,也可以在满足某条件时在运行时动态地隐藏(和取消隐藏)内置组。这样的例子包括:选择了图表工作表、选择了特定的工作表、从组合框中选择了特定项、以及勾选了网格线复选框。...如果活动工作表不是标准工作表,就隐藏该组,否则该组可见。 注意,当打开工作簿时,创建ribbon对象。编辑VBA代码可能销毁这个新创建的对象。...试图使与销毁对象相关的控件无效是不可能的,唯一的办法是重新创建ribbon对象重新打开该工作簿。 当激活图表工作表时,“开始”选项卡中的“对齐方式”组被隐藏,如下图所示: ?...方法, '使用下面的语句使Ribbon无效: 'myRibbon.Invalidate End Sub 当激活不同的工作表时,执行SheetActivate事件处理。...在Excel 2007中,Invalidate方法使功能区中所有的控件无效。随后,调用HideHomeTab过程。如果活动工作表不是标准工作表,就隐藏“开始”选项卡,否则该选项卡可见。

    8.1K20

    【图解】Web前端实现类似Excel的电子表格

    SpreadJS具有以下功能特点: 丰富的数据交互和外观 数据、显示、可视化和分析支持 强大的计算引擎 工作表和单元格级别的数据绑定 数据验证 单元格类型 数据操作...通过利用getCells方法,而不是getCell方法可以操作同时获得在一个范围内的多个单元: // 获得第2行2列 ~ 第4行5列,并设置背景色 var cell...;使用SpreadJS,也可以使用addSpan方法来合并多个单元格在工作表上,结果如同Excel一样: // 列結合 activeSheet.addSpan...另一方面,以CSV的情况下,我将使用getCsv表对象中,该方法setCsv。Excel作为也就是使用CSV将容纳单元的情况下,输入和输出。也可以指定起始位置和范围,单元格的分隔符。...但应注意的是,能在表4中指定的值来setCsv方法的导入标记。默认为无。

    9.2K60

    VBA专题10-24:使用VBA操控Excel界面之单元格上下文菜单(Excel 2010及以后的版本)

    学习Excel技术,关注微信公众号: excelperfect 添加按钮控件 假设你需要对工作表中前面有货币符号的值执行计算,然而那些值被解释为文本,你要编写VBA过程来移除所选单元格区域中的货币符号。...在标准的VBA模块中的过程: Sub RemoveUSD(control As IRibbonControl) Dim workRng As Range Dim Item As Range...示例XML代码: image.png image.png image.png 在标准VBA模块中的代码: Public myRibbon As IRibbonUI Dim Checkbox1Pressed...《VBA专题10-23:使用VBA操控Excel界面之添加动态菜单》一文中,当用户激活不同的工作表时,在Workbook_SheetActivate事件处理中明确地使菜单无效(为了重新构建菜单)。...下图展示了含有不同类型的(自定义和内置的)控件的单元格上下文菜单: 640 (1).gif 注意,无法将控件添加到Excel 2007中的单元格上下文菜单和更早的XML代码中。

    1.6K10

    VBA技术:你需要知道的一些VBA操作形状的代码

    标签:VBA,Shape对象 本文介绍使用VBA创建和操控形状的知识。 在Excel中,可以通过功能区“插入”选项卡“插图”组中的“形状”库按钮在工作表中插入形状。...可以使用形状来可视化数据、在形状中添加文本、作为执行宏代码的按钮,等等。 使用AddShape方法创建形状 要使用VBA在Excel中创建形状对象,必须调用AddShape方法。...该方法有5个必需的参数:参数Type,想要生成的形状类型名;参数Left,放置到工作表中形状的左侧位置;参数Top,放置到工作表中形状的顶部位置;参数Width,形状的宽度;参数Height,形状的高度...图11 如果不确定形状的大小,有两种常用的方法可以调整形状的大小。 方法1:基于工作表中某单元格左侧和顶部的位置。...下面的代码示例遍历当前选定的工作表中的所有形状对象,仅更改矩形形状的填充颜色。

    4.8K20

    VBA小技巧:确定工作表数据区域

    在使用VBA编写程序时,有几种常用方法可以在工作表中查找包含已有数据的区域,但这些方法都多少存在一些局限。...Activesheet.Cells(1).CurrentRegion 如果已有数据区域中存在空行或空列,将无法获取正确的区域。...Activesheet.UsedRange 不是动态的。 仅使用按行或列查找(Find方法)可能会错过更大列(如果按行搜索)或更大行(如果按列搜索)中的异常值单元格。...下面的代码是“万无一失”的,它返回位于最大行和最大列(如果是全新的工作表,则为 A1)相交叉处的单元格。在复制、遍历或清除数据时,使用此函数将确保不会遗漏任何内容。...这个函数适用于任何情况,即使对于空工作表也是如此,因为默认值是相关工作表的单元格 A1(决不为空)。

    1.2K20

    Excel宏教程 (宏的介绍与基本使用)

    ;ActiveSheet代表当前处于的活动状态工作表,即当前显示的一个工作表。...需要注意的是:在使用过程中excel会自动重排工作表索引号,保持按照其在工作表标签中的从左至右排列,工作表的索引号递增。因此,由于可能进行的工作表添加或删除,工作表索引号不一定始终保持不变。...图表工作表的索引号表示 图表工作表在工作簿的工作表标签栏上的位置。...Areas 为选定区域内的连续单元格块的集合,其成员是Range对象。而其中的每个Range对象代表选定区域内与其它部分相分离的一个连续单元格块。...before:=Sheets(1) ‘在第1工作表前添加新工作表 Sheets.Add after:=Sheets(Sheets.Count) ‘在最后工作表后添加新工作表 2、移动 ActiveSheet.Move

    6.5K10

    Python 学习第三部分函数——第一章

    创建一个对象并将其赋值给某一个对象 return        将一个结果对象发送给调用者 global        声明了一个模块级的变量并赋值 nonlocal    声明了将要赋值的一个封闭的函数变量...实际上,变量可以在3个不同的地方分配,分别对应3种不同的作用域:          1. 如果一个变量在def内赋值,它被定位在这个函数内。          2....a = 99 #a为全局变量 def num_a(): a=88 # a为本地变量(只在def语句内是可见的) return a print(a) #99 print...全局变量是位于模块文件内部的顶层的变量名。          2. 全局变量如果是在函数内被赋值的话,必须经过声明。          3. 全局变量名在函数的内部不经过声明也可以被引用。...区别之处:nonlocal应用于一个嵌套的函数的作用域中的一个名称,而不是所有def之外的全局模块作用域;而且在声明nonlocal名称的时候,它必须已经存在于该嵌套函数的作用域中。

    42520
    领券