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

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

可以在启动(当Excel开启时)动态设置值,可以在运行时改变它们值(在使元素无效后通过使用VBA回调过程)。...通过该属性指向HideAlignmentGroup过程,在打开工作簿使该控件无效时执行。在该过程中评估是否隐藏取消隐藏组条件。...在Custom UI Editor中保存该文件,首次在Excel中打开时,会出现关于Initialize和HideAlignmentGroup过程错误消息提示,因为这两个过程仍然没有在标准VBA模块中找到...在Excel 2007中,Invalidate方法使功能区中所有的控件无效。随后,调用HideHomeTab过程。如果活动工作表不是标准工作表,就隐藏“开始”选项卡,否则该选项卡可见。...随后,调用相同getVisibleBtnBC过程,遍历所有无效控件(本例中,是两个按钮),它们getVisible属性使用相同getVisibleBtnBC过程

7.7K20

VBA专题10-21:使用VBA操控Excel界面之禁用和启用控件、组和选项卡

过程,当打开工作簿或者其中一个两个控件被无效调用这个过程。...随后,调用相同getEnabledBU过程,如果活动工作表名字是Sheet1,那么两个控件都被启用,否则被禁用。...在Custom UI Editor中保存该文件,首次在Excel中打开该文件时,将会出现关于Initialize和GetEnabledAttnSh过程提示错误消息,因为在标准VBA模块中仍然没有这两个回调过程...每个过程调用RefreshRibbon过程来使所有的三个控件无效。参见下面的RefreshRibbon过程。是否启用(禁用)某控件取决于在RefreshRibbon中参数传递值。...一旦使这些控件无效,就调用GetEnabledAttnSh过程,遍历共享这个相同回调所有无效控件。如果控件id与参数值匹配,就启用该控件。否则,禁用该控件。

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

答案:Excel VBA编程问答33题,继续……

3.是非题:KeyDown事件过程可以使用KeyCode参数判断用户输入是4还是$。 错误。Keycode参数仅标识密钥,你必须使用Shift参数来确定是否按下Shift键。...4.KeyDown事件过程代码如何取消按键? 通过将KeyCode参数设置为0。 5.在用户窗体上对齐控件最快方法是什么? 通过使用“格式”菜单上“对齐”命令。...在运行时,如何使隐藏控件可见? 调用具有fmTop参数隐藏控件ZOrder方法。 7.如何防止用户通过制表键将焦点移到控件上? 将控件TabStop属性设置为False。...数据验证是确保用户不会输入无效数据过程,例如在输入数字时应输入文本。 13.你应该在何处放置工作簿级别事件事件过程? 在ThisWorkbook模块中。...31.类方法与常规VBA过程有何不同? 除了在类模块中之外,没有什么不同。 32.什么是辅助方法? 仅应从类内部而不是类外部代码调用方法。 33.在销毁对象之前触发了什么事件?

4.2K20

Excel VBA解读(163):错误处理技术之概述

学习Excel技术,关注微信公众号: Excelperfect 在VBA代码中,我们经常会看到类似于On Error Resume Next这样语句,这是编译器在代码遇到错误时自动处理语句。...概述 错误处理是指为处理应用程序运行时发生错误而编写代码。这些错误通常是由编写代码的人无法控制事情所引起,例如文件丢失、数据库不可用、数据无效等。...VBA错误类型 在VBA中,有3类错误: 1.语法错误 2.编译错误 3.运行时错误 使用错误处理来处理运行时错误。...过程不存在 5.使用错误参数调用Sub过程和Function过程 6.在要求声明变量时未声明变量 下图2所示,当If语句没有对应End If语句时,如果运行代码就会发生编译错误。...还有一些常见运行时错误,包括数据库不可用、用户输入无效数据、使用单元格内容应为数字但实际上是文本,等等。 正如我们所看到错误处理目的是处理运行时发生错误

3.7K10

VBA专题10-23:使用VBA操控Excel界面之添加动态菜单

通过该控件getContent属性引用VBA过程,在运行时为菜单内容构建XML代码。...在Excel中打开该文件。对于弹出错误消息,单击“确定”。 9. 按Alt+F11激活VBE。 10....接着,通过在使复选框无效前存储复选框状态Checkbox1Pressed变量重新赋值该复选框状态。 5. 保存,关闭,然后重新打开该工作簿。...现在,复选框能够保留其在动态菜单被无效并重新构建后状态。正如所看到,Checkbox1Pressed模块级变量在过程调用之间保留其值。...当VBE显示标准错误消息框(因为一个未处理运行时错误发生),可以单击消息框中结束按钮。 关闭该工作簿文件。 如果没有未处理错误,你可以只执行前两种方法,而用户可以仅执行最后一种方法。

5.9K20

VBA专题10-15:使用VBA操控Excel界面之在功能区中添加自定义标签控件

getLabel是一个回调属性,赋值VBA过程名称,本例中为getLabel1回调过程。该过程在首次打开该工作簿时或者在使该控件无效时执行。...一旦使某元素无效,任何与该元素相关数据就被销毁,并且通过调用所有的在XML代码中声明该元素回调属性引用VBA过程来自动刷新该元素。因此,要提高效率,应仅使必需元素无效。...在后面的文章中,将会列举使元素无效例子。 5. 单击工具栏中Validation按钮来检查是否有错误。 6. 单击Generate Callbacks按钮。...之后,要将其粘贴到工作簿VBA模块中。 7. 保存并关闭该文件。 8. 在Excel中打开该工作簿文件。...因为是第一次在Excel中打开该文件,会得到关于getLabel1错误消息提示,因为在标准VBA模块中还没有getLabel1回调过程。此时,单击“确定”关闭错误消息。 9.

2.2K10

递归编程

顾名思义,递归编程就是程序自己调用自己,在调用过程中传入参数修改值。通常,递归编程包含至少两个过程:设置初始状态并对递归过程进行初始调用过程;递归过程本身调用一次多次。...在Fact函数过程中,我们在N小于等于1时结束递归调用。你递归代码必须具有某种终止递归调用转义逻辑,如果没有这种转义逻辑,代码将不断循环,直到 VBA 运行时因堆栈空间不足错误而中止处理。...注意,你无法使用常规错误捕获来捕获堆栈空间外错误,这被称为不可捕获错误,将立即终止所有VBA代码执行,且不能从无法捕获错误中恢复。...AddUp过程另一个调用。...该函数将继续不受限制地调用自身,直到VBA运行时中止过程执行序列。 示例:列出文件夹及子文件夹 下面的代码在工作表中列出指定文件夹中所有子文件夹。

75630

Excel编程周末速成班第24课:调试和发布应用程序

由于实际上存在无限数量潜在bug,因此无法列出描述Excel程序中可能出现错误。以这种方式思考——程序应该做任何事情都可能做错。 虽然VBA会向你报告错误,但没有对于bug处理机制。...尽管这种类型变量似乎可以简化某些编程任务,但它们容易出现问题。几乎所有需要全局变量公共变量情况都可以使用过程参数和函数返回值进行处理。 必要时,请确保对数字变量使用浮点数据类型。...监视表达式可以是任何VBA表达式,例如程序变量、对象属性函数调用。通过设置监视,你可以关注变量属性值以查看其是否以及何时更改。 可以使用多种方法来使用监视表达式: 可以监视其值。...VBA监视可让你在程序执行期间跟踪程序变量值。 自我测评 1.运行时错误与程序错误有何不同? 2.如何在代码中设置断点? 3.逐语句执行命令和逐过程执行命令有什么区别?...4.描述两种在中断模式下快速查看变量值方法。 5.如果不能确定应用程序所有用户都将运行最新版本Excel,该怎么办?

5.7K10

Excel编程周末速成班第26课:处理运行时错误

学习Excel技术,关注微信公众号: excelperfect 主要内容: 理解运行时错误及其原因 如何在过程中启用错误捕获 使用Err对象 编写错误处理代码 延迟错误处理 使用错误作为编程工具 运行时错误是在程序运行时发生错误...在程序运行时发生程序错误称为运行时错误,重要是要理解运行时错误只是错误)与在VBA程序中可能发生其他两类问题之间区别: bug是程序逻辑中缺陷,会导致程序产生不正确结果。...执行数学计算过程应注意溢出和零除错误,但是该过程可以忽略与文件相关错误,因为在该过程执行期间它们不会发生。 在VBA程序中,过程通常会调用其他过程。...如果Proc1没有错误陷阱,则错误将传递到下一个级别。只有当错误达到最高级别(该过程未被另一个过程调用)时,才会触发VBA默认错误机制。...集中通过一个几个过程进行一些错误处理可能很诱人,但建议你避免这种做法,并为每个过程赋予其自己错误处理代码。 提示:错误处理对于所有VBA过程(包括函数和类方法)都以相同方式工作。

6.7K30

使用VBA重命名文件:5个代码示例

为了避免执行Visual Basic错误调试过程,可以显示一个带有“确定”按钮消息框。...下面的VBA自定义函数接受两个参数:现有文件路径和新文件路径。...Else RenameFile = True End If On Error GoTo 0 End Function 可以有两种方式使用这个函数: 1.从另一个过程调用...2.在工作表中像Excel内置函数一样调用。 图2 TRUE表示以单元格C2中值命名文件已成功重命名为单元格C4中值文件。如果我们再次运行该函数,它将显示FALSE,因为文件已经重命名。...可能错误 如果试图重命名不存在文件文件夹路径,则会触发错误运行时错误'53’:未找到文件。如果新文件名与现有文件名相同,则会触发以下错误运行时错误’58’:文件已存在。

1.8K30

Jupyter Notebooks嵌入Excel并使用Python替代VBA

%xl_get魔术函数有几个选项: -c--cell。传递单元格地址以获取值,例如%xl_get --cell A1:D5。 -t--type。...当Jupyter笔记本在Excel运行时,所有其他方法(例如,使用XLCell类,ExcelCOM API甚至xlwings)仍然可用。 提示:可以为魔术函数结果分配一个变量!...Excel中图片对象名称。如果使用已经存在图片名称,则该图片将被替换。 -c--cell。用作新图片位置单元格地址。如果图片已经存在,则无效。 -w--width。...Excel中图片宽度(以磅为单位)。如果更新现有图片,则无效。 -h--height。Excel中图片高度(以磅为单位)。如果更新现有图片,则无效。...return desc 现在,你可以编写复杂Python函数来进行数据转换和分析,Excel中如何调用排序这些函数。更改输入会导致调用函数,并且计算出输出会实时更新,这与你期望一样!

6.3K20

VBA专题10-25:使用VBA操控Excel界面之一个示例程序

学习Excel技术,关注微信公众号: excelperfect 在前面的一系列主题中,你已经学到了很多小修改工作簿外观VBA代码。下面,我们将介绍一个简单示例程序,实现下面的功能特点: 1....1.7 运行时使用图像动态地填充库控件。 2....如果取消选取(选取)指定内置复选框(例如,在“视图”选项卡中“编辑栏”复选框),那么禁用(启用)自定义控件(例如,在“视图”选项卡中G5B1按钮)。 5....单击工具栏中Validate按钮来检查是否有错误。 9. 保存并关闭该文件。 10. 在Excel中打开该文件。对于错误消息单击“确定”。 11. 按Alt+F11激活VBE。 12....上述代码效果演示如下图: 640 (2).gif 说明:本专题系列大部分内容学习整理自《Dissectand Learn Excel VBA in 24 Hours:Changingworkbook

2.2K10

VBA代码库09:增强CELL函数和INFO函数

excelperfect 本文介绍自定义函数来源于wellsr.com,以ExcelCELL函数和INFO函数为样板,可直接返回工作表工作簿名称工作簿路径,以及与Excel及其操作环境有关各种信息...Excel研究\06.2 VBA代码库\09\ 详细内容参见:Excel函数学习27:INFO函数 CELL函数回顾 CELL函数语法如下: CELL(info_type,[reference]) 其中...语句中引用则错误) ' 或者, Target应该是单元格地址(如A1Sheet1!...如果参数This值不是”sheet”、”book””path”,那么参数Target被忽略,除非其为无效Range。...如果参数Target引用了未打开工作簿,则Target可能会被视为NameOf函数引用(其默认值)单元格无效Range。

4.5K10

最完整VBA字符串知识介绍

图4 Microsoft Excel提供了生成相同结果LEN函数。 字符、字符串和过程 将字符字符串传递给过程 与普通值一样,可以将字符字符串传递给过程。...创建过程时,在过程括号中输入参数及其名称。然后,在过程主体中,使用合适参数调用过程时,可以用双引号传递参数值。...要将字符、字符串表达式转换为大写,可以调用VBAUCase函数Microsoft ExcelUPPER函数,这些函数接受一个参数作为要考虑字符串表达式。..." ActiveCell = UCase(ProgrammingEnvironment) End Sub 要将字符字符串转换为小写,可以调用VBALCase函数Microsoft Excel...图5 字符串右子字符串 要使用现有字符串右侧一个多个字符创建新字符串,调用MicrosoftExcelRIGHT函数VBARight函数。

2.6K20

Excel VBA编程

…next语句循环处理集合数组中成员 do while循环 使用Goto语句,让程序转到另一条语句去执行 with语句,简写代码 sub过程,基本程序单元 sub过程基本结构 在过程调用过程...如果选用static,过程执行结束后,会继续保存过程中变量值 在过程调用过程 直接使用过程调用过程过程名与参数之间用英文逗号隔开 subname,arg1,arg2 sub runsub()...但是VBA中没有Excel内置函数,使用worksheetfunction可以调用Excel内置函数。...标签告诉VBA,当程序运行过程中晕倒运行时错误时,跳转到标签所在行代码继续执行程序,实际上就是让程序跳过出错代码,从另一个地方重新开始执行程序。...如果程序一开始加入On Error Resume Next语句,运行程序时,及时程序中存在运行时错误VBA也不会中断程序,而是忽略所有存在错误语句,继续执行出错语句后代码 Sub test()

44.9K21

Excel VBA高级筛选技巧

如果现在尝试运行它,将得到“运行时错误’1004’:Range类AdvancedFilter方法失败”错误,因为尚未定义参数Action,该参数告诉AdvancedFilter是在原有区域显示筛选结果还是将筛选结果复制到其他位置...必须定义这些XlFilterActions之一,否则AdvancedFilter方法将发生运行时1004错误失败。...如果不执行此操作,将出现“运行时错误’1004’:提取范围有一个缺少无效字段名”错误。...)相结合,可以为客户自己数据分析需求创建一个非常好工具。...,使用:End(xlUp)UsedRange 4.允许用户在数据验证限定下更改输出字段 5.在运行AdvancedFilter宏条件页面中添加一个按钮 许多企业和组织利用Excel数据处理功能,

6.7K50

VBA: 隐藏模块中出现编译错误解决对策

通过64位office软件打开早期excel文件,如果代码中存在早期面向32位office编写VBA代码,可能会存在上述编译错误。...1 此错误原因和解决方案 此错误原因: 当受保护(隐藏)模块内 VBA 代码中存在编译错误时会引发此错误。由于模块是受保护状态,因此不会公开具体编译错误。...可能解决方案: (1)如果您具有访问文档项目中 VBA 代码权限,请先取消对该模块保护,然后再次运行该代码以查看具体错误。...2 更新旧版本VBA代码 对于在 Office 2010 版本之前(VBA 版本 6 和更早版本)编写 VBA 代码,需要修改为在 64 位 Office 版本中运行,否则在 64 位平台上运行时会导致错误...(5) 双击刚才要解密VBA工程窗体,发现已经可以查看之前受保护模块代码了。

10.6K10

一起学Excel专业开发14:了解Excel应用程序开发四个阶段

学习Excel技术,关注微信公众号: excelperfect 在正式将VBA引入我们应用程序之前,让我们先了解Excel应用程序四个阶段:开发与维护、启动、运行和关闭。...开发与维护 主要工作是编写应用程序代码或者更新代码,构建修改应用程序。主要有两种用于辅助构建代码方式: 1.代码模板:直接复制基本函数过程;第三方代码生成工具。...如果加载宏中包括用户自定义函数,就需要在Excel函数向导中添加相应信息。 5.配置初始用户接口。...2.处理Excel应用程序事件。应用程序响应由Excel操作所引发事件。 3.处理运行时错误。当运行时发生错误时,进行处理,避免程序死锁,同时告知用户错误信息。 4.调用其他加载宏中代码。...如果引用了其他加载宏,就可以通过名称来调用其标准模块中公有过程。当然,如果不使用引用方式,也可以通过Application.Run函数来实现。 5.提供其他服务。

1.4K20
领券