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

在Microsoft Excel Objects -> This Workbook VBE hierarchy中调用functino/sub

在Microsoft Excel中,VBE(Visual Basic Editor)是用于编写和编辑宏代码的集成开发环境。VBE层次结构中的"This Workbook"表示当前工作簿,它是一个对象,可以通过VBA代码来操作。

要在This Workbook VBE层次结构中调用函数(function)或子程序(subroutine),可以使用以下步骤:

  1. 打开Microsoft Excel,并打开需要编辑的工作簿。
  2. 按下Alt + F11键,打开VBE窗口。
  3. 在左侧的项目浏览器中,展开Microsoft Excel Objects文件夹。
  4. 双击"ThisWorkbook"对象,打开它的代码窗口。
  5. 在代码窗口中,可以编写VBA代码来调用函数或子程序。

调用函数时,可以使用以下语法:

代码语言:txt
复制
FunctionName(arguments)

其中,FunctionName是要调用的函数的名称,arguments是传递给函数的参数。

调用子程序时,可以使用以下语法:

代码语言:txt
复制
Call SubName(arguments)

或者简单地使用:

代码语言:txt
复制
SubName arguments

其中,SubName是要调用的子程序的名称,arguments是传递给子程序的参数。

通过在This Workbook VBE层次结构中调用函数或子程序,可以实现对工作簿的自定义操作和功能扩展。例如,可以编写一个函数来计算工作簿中某个范围的总和,并在需要时调用该函数。

腾讯云提供了一系列与Excel相关的云产品,如腾讯文档(https://cloud.tencent.com/product/txcos)和腾讯云函数(https://cloud.tencent.com/product/scf)等,它们可以与Excel集成,提供更多的功能和扩展性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

VBA通用代码:自定义右键菜单

标签:VBA,快捷菜单 《VBA通用代码:Excel创建弹出菜单》,我们给出了一段工作表创建弹出菜单的代码,将给代码指定快捷键,这样通过按快捷键可以工作表调用弹出菜单,从而执行其中的命令。...打开VBE,单击菜单“插入——模块”,插入一个标准模块,在其中输入代码: Sub AddToCellMenu() Dim ContextMenu As CommandBar ' 首先,...VBE,双击ThisWorkbook模块,打开其代码窗口,在其中输入代码: Private Sub Workbook_Activate() Call AddToCellMenu End Sub...Private Sub Workbook_Deactivate() Call DeleteFromCellMenu Call DeletePopUpMenu End Sub 关闭Excel...此时,右键单击任意单元格,可以看到单元格快捷菜单增加了一个自定义命令,如下图1所示。 图1 注:本文整理自microsoft.com,供有兴趣的朋友参考。

1.3K30

Excel实战技巧78: 创建个人宏工作簿

步骤1:打开一个Excel工作簿,单击功能区“开发工具”选项卡的“录制宏”命令,弹出的“录制宏”对话框,选取“保存在”下拉列表框的“个人宏工作簿”,如下图1所示。单击“确定”。 ?...图1 步骤2:工作表随便选取一个单元格,然后单击“开发工具”选项卡的“停止录制”。 此时,Excel将自动创建个人宏工作簿文件。...通常,Excel会自动将个人宏工作簿文件保存在默认位置: C:\Users\[insert your username]\AppData\Roaming\Microsoft\Excel\XLSTART...首先,VBE编辑器PEARSONAL.XLSB工程下插入一个类模块并命名为“TabBack_Class”,输入代码: Public WithEvents AppEvent As Application...`时调用ToggleBack过程 Application.OnKey "%`","ToggleBack" End Sub '返回到前一个工作表 Sub ToggleBack() With TabTracker

2.6K30

自定义功能区示例:创建用于工作表导航的动态组合框

标签:VBA,自定义功能区 《自定义功能区示例:创建用于工作表导航的下拉列表》,我们Excel功能区添加一个自定义的选项卡,然后再该选项卡添加带有下拉列表的一个自定义组,用于从下拉列表中选择工作表...我们对此示例进行修改,使用组合框来实现,如下图1所示,并且当用户该工作簿中新建或删除工作表时,组合框的列表项会自动更新。...Excel打开CustomDynamicCombobox.xlsm,打开VBE,插入一个标准模块,输入下面的代码: Dim Rib As IRibbonUI Dim mwkbNavigation As...Workbook Sub RibbonOnLoad(ribbon As IRibbonUI) Set Rib = ribbon End Sub Public Sub Combobox1_getItemCount...End Sub Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) RefreshAddInsRibbon End Sub 保存并关闭该工作簿

29220

Excel VBA解读(135): 影响工作表公式运用自定义函数效率的Bug及解决方法

VBE存在一个小的Bug:Excel每次工作表计算过程运行包含自定义函数的公式时,包含自定义函数的公式都会将VBE标题栏改更为“正在运行”,如下图1所示。 ?...图2 此时,Excel会在VBE标题栏名称显示的工作簿名后显示[运行],这就需要VBE向Windows屏幕处理程序发送消息,并刷新包含VBE的窗口。...如果Excel处于手动计算模式,可以捕获触发计算的所有键击,并在VBA代码启动计算。...标准模块添加相应的计算子过程: Sub SheetCalc() ActiveSheet.Calculate End Sub Sub ReCalc() Application.Calculate...End Sub 如果是自动计算模式,比较有效的方法是ThisWorkbook模块添加代码: Private Sub Workbook_SheetChange(ByVal Sh As Object

2.2K20

VBA专题10-6:使用VBA操控Excel界面之执行命令以及激活功能区选项卡的两种方法

“数据”选项卡: Private Sub Workbook_Open() Application.SendKeys "%A%" End Sub 注意,Excel的有些版本Excel窗口被装载之前...,Workbook_Open事件的SendKeys方法执行得过早。...为了解决这个问题,可以使用OnTime事件执行Workbook_Open事件一至两秒后,发送按键,如下面的代码: Private Sub Workbook_Open() '1秒后执行SendKeystrokes..."> onLoad是一个回调属性,有一个VBA过程的名称赋给它,本例的过程命名为Initialize,当打开工作簿时调用此过程。...Excel打开该文件。 由于Initialize过程仍然没有准备执行,因此会出现错误消息,单击“确定”。 10. 按Alt+F11打开VBE。 11.

3.5K20

Excel实战技巧67:组合框添加不重复值(使用ADO技巧)

单击功能区“开发工具”选项卡“插入”按钮下ActiveX控件的“组合框”,工作表插入一个组合框,可以看到Excel将其自动命名为“ComboBox1”,如下图2所示。 ?...图2 按Alt+F11组合键,打开VBE,插入标准模块并输入代码如下: Sub FillCombox() Dim Myconnection AsConnection Dim Myrecordset...可以在任何事件或过程调用它们,例如工作簿打开事件、查询刷新事件或者按下按钮后。 运行或调用过程后,工作表单击组合框右侧下拉按钮,结果如下图3所示。 ?...2.需要在VBE设置对Microsoft ActiveX Data Objects Library的引用,如下图4所示。 ?...当在Excel操作时,可以使用两类连接字符串之一。使用第一类连接字符串(即使用Microsoft.Jet.OLEDB),有助于避免向后兼容问题,而且比Microsoft.ACE快3倍。

5.5K10

VBA实战技巧28:自动关闭指定时间没有进行操作的工作簿

有时候,我们打开了一个工作簿,但长时间没有使用,此时,你可能想让Excel自动将其关闭。也就是说,对于某个工作簿,如果用户指定的时间内没有进行任何操作,那么Excel会保存并关闭该工作簿。...首先,VBE插入一个标准模块,在其中输入代码: Public RunWhen As Double Public Const NUM_MINUTES = 10 Public Sub SaveAndClose...() ThisWorkbook.CloseSaveChanges:=True End Sub 你可以修改NUM_MINUTES的值,设置让工作簿没有操作的情况下保持开启的时间。...VBE资源管理器窗口,双击ThisWorkbook打开该模块,输入代码: Private Sub Workbook_Open() On Error Resume Next Application.OnTime..., "SaveAndClose", , False On ErrorGoTo 0 End Sub Private Sub Workbook_SheetChange(ByVal Sh AsObject

1.8K30

Excel实战技巧68:创建级联列表框(使用ADO技巧)

Excel实战技巧67:组合框添加不重复值(使用ADO技巧)》,我们使用记录集技巧给组合框添加了不重复值,并概要讲述了ADO记录集基础知识。本文利用记录集技巧,创建级联列表框。...本示例,创建一个函数,接受子列表框作为其参数,然后使用该列表框判断提取什么数据以及填充哪个列表框。...Myconnection.Close Set Myrecordset = Nothing Set Myconnection =Nothing End Function 每个父列表框的OnClick事件只是简单地调用上面的函数...)) End Sub 说明 1.示例中使用的是ActiveX列表框控件。...2.需要在VBE设置对Microsoft ActiveX Data Objects Library的引用,如下图2所示。 ?

1.3K20

自定义功能区示例:创建用于工作表导航的下拉列表

本文的示例如下图1所示,功能区添加一个自定义的选项卡,然后再该选项卡添加带有下拉列表的一个自定义组,用于从下拉列表中选择工作表,从而快速导航到该工作表,这对于工作簿中有大量工作表且要快速找到相应的工作表的用户来说...图1 假设该工作簿名称为CustomUIDropdown.xlsm,使用Custom UI Editor for Microsoft Office打开该工作簿,在其中输入代码: ...Excel打开CustomUIDropdown.xlsm,打开VBE,插入一个标准模块,输入下面的代码: Dim Rib As IRibbonUI Private mwkbNavigation As...Workbook 'Callback for SheetNavigation getItemCount Sub getItemCount(control As IRibbonControl, ByRef

26020

Excel实战技巧50: 避免因粘贴破坏数据有效性

学习Excel技术,关注微信公众号: excelperfect Excel数据有效性(Excel 2013及以上版本改称数据验证)是一项很方便的功能,帮助我们让用户单元格输入规定的数据。...VBE,插入一个名为clsCommandBarCatcher的类模块,输入代码: '捕获命令栏的单击以阻止粘贴 Public WithEvents oComBarCtl As Office.CommandBarButton...'从clsCommandBarCatcher的控件事件处理 '和不同的OnKey宏调用专门的粘贴值程序 Public Sub MyPasteValues() If Application.CutCopyMode...Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) StopCatchPaste mdNextTimeCatchPaste =...CatchPaste", , False End Sub Private Sub Workbook_Open() CatchPaste End Sub 工作簿打开时,进行相应的设置。

6.7K31

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

学习Excel技术,关注微信公众号: excelperfect 本系列后面的示例程序,你将会看到如何使用项目和带图像的库控件通过getItemLabel和getItemImage回调属性引用的VBA...单击工具栏的Validate按钮检查是否有错误。 7. 保存并关闭该文件。 8. Excel打开该文件。对于弹出的错误消息,单击“确定”。 9. 按Alt+F11激活VBE。 10....ThisWorkbook模块插入下面的VBA代码: Private Sub Workbook_SheetActivate(ByVal Sh As Object) myRibbon.InvalidateControl...现在,复选框能够保留其动态菜单被无效并重新构建后的状态。正如所看到的,Checkbox1Pressed模块级变量在过程调用之间保留其值。...VBE,选择运行|重新设置。 当VBE显示标准的错误消息框(因为一个未处理的运行时错误发生),可以单击消息框的结束按钮。 关闭该工作簿文件。

6K20

一起学Excel专业开发20:Excel工时报表与分析系统开发(3)——启动与关闭

启动时注册表中保存Excel设置 '注册表存储Excel工作区设置 Sub StoreExcelSettings() Dim cbBar As CommandBar Dim sBarNames...过程调用的WorkbookAlive函数将在后面相应部分介绍。...该过程调用RestoreMenus过程来恢复Excel的工具栏: '恢复最初的菜单结构.独立应用程序, '最简单的方法是重新打开xlb文件....VBE和各种隐藏的表格,以及Excel界面和应用程序界面之间方便地进行切换。...针对调试模式和产品模式可以分别设置不同的Excel运行环境。调试模式,所有Excel快捷键都可用。在产品模式,禁用所有的Excel快捷键并确保VBE为隐藏状态。

1.4K20

Excel自定义上下文菜单(上)

Microsoft Office,上下文菜单提供了一组应用程序的当前状态或上下文中可用的有限选项。通常,可用的选择是与选定对象(如单元格或列)相关的操作。...Excel的上下文菜单 Microsoft Excel,人们最常用的上下文菜单是单元格上下文菜单,这是工作表单元格或选定单元格上单击鼠标右键时看到的菜单(如下图1所示)。...图1 Excel自定义上下文菜单 Excel 2007以前的版本自定义上下文菜单的唯一方法是使用VBA代码,然而,Excel 2007后续版本,还可以使用相同的功能区扩展性(RibbonX)...要自定义单元格上下文菜单,按Alt+F11打开VBE,单击菜单“插入——模块”。模块粘贴或键入下面6个过程。第一个过程将控件添加到单元格上下文菜单,第二个过程从单元格上下文菜单删除控件。...Private Sub Workbook_Activate() Call AddToCellMenu End Sub Private Sub Workbook_Deactivate() Call DeleteFromCellMenu

2.6K40

VBA: 打开Excel文件的两种方式(GetObject函数和Workbooks.Open方法)

文章背景: 打开指定路径的Excel文件,VBA中常用的是Workbooks.Open方法,最近发现有个GetObject函数,也有类似的功能,所以本文探讨下两种打开方式的区别。...End Sub 打开一份Excel文件,编辑结束后,保存内容并关闭。 2 GetObject 返回对 ActiveX 组件提供的对象的引用。...End Sub 使用GetObject函数,获取对指定Excel文件的引用。如果Excel文件尚未打开,那么程序会在后台打开该工作簿。...(3)通过GetObject函数打开的Excel文件只要被修改(写)并保存后,后续打开该文件就只能在VBE中看到表格,但用户界面却看不到。使用Workbooks.Open方法不存在这个问题。...End Sub 参考资料: [1] getobject和workbooks.open哪个更好 [2] Workbooks.Open method [3] Workbook.Close method

3.8K10

VBA创建Access数据库的4种方法

操作方法:单击VBE窗口上的【工具】按钮,弹出的快捷菜单单击【引用】按钮, 接下来,弹出的对话框选择【Microsoft Access 16.0 Object Library】。...操作方法:单击VBE窗口上的【工具】按钮,弹出的快捷菜单单击【引用】按钮,接下来,弹出的对话框选择【Microsoft DAO 3.6 Object Library】。...操作方法:单击VBE窗口上的【工具】按钮,弹出的快捷菜单单击【引用】按钮,接下来,弹出的对话框选择【Microsoft ADO Ext 6.0 for DDL and Security】。...ADO (ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库的数据。...操作方法:单击VBE窗口上的【工具】按钮,弹出的快捷菜单单击【引用】按钮,接下来,弹出的对话框选择【Microsoft ActiveX Data Object 6.0 Library】。

5.8K100

Excel实战技巧77: 实现在当前工作表和前一个使用的工作表之间自由切换

Excel也有两个快捷键:Ctrl+PageUP和Ctrl+PageDown,可以工作表之间导航,它们是按顺序依次切换工作表,这样,如果要从工作表Sheet1切换到工作表Sheet5,要按快捷键4次。...As StringPublic WorkbookReference As String '离开当前工作表前保存其信息Private Sub AppEvent_SheetDeactivate(ByVal...Sh As Object) WorkbookReference = Sh.Parent.Name SheetReference = Sh.NameEnd Sub '关闭工作簿前保存当前工作表信息...Private Sub AppEvent_WorkbookDeactivate(ByVal Wb As Workbook) WorkbookReference = Wb.Name SheetReference...模块,输入代码: '打开工作簿时运行Private Sub Workbook_Open() Call TabBack_RunEnd Sub 保存并关闭工作簿,然后重新打开,此时就可以使用快捷键Alt

1.2K10

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

关闭该工作簿,然后Custom UI Editor打开该工作簿。 3. Custom UI Editor,选择Insert | Office 2007 Custom UI Part。...注意:图像文件的文件名避免使用空字符,否则不能正确地引用文件。 6. 如果需要,可右击Custom UI Editor插入的图像来改变其ID。如图1所示。 ? 图1 7....Excel打开该文件。 12. 按Alt+F11键激活VBE。 13. 插入一个标准的VBA模块,并粘贴在步骤9复制的回调代码。 14. 在过程添加一个MsgBox语句来测试控件。...) MsgBox "你选择的是" & id End Sub 下图2展示了Custom选项卡中出现在库控件的项: ?...workbook appearance》,仅供学习研究。

2.9K10

VBA实战技巧:快速返回最后一次编辑的单元格

例如,最后一次编辑的单元格是单元格K112,然而我的当前单元格单元格C1,如何定位这个最后编辑的单元格并快速返回到该单元格呢? 可以使用Excel事件来实现。...按Alt+F11组合键,打开VBE,双击工程资源管理器窗口中的ThisWorkbook模块,在其代码模块,输入下面的代码: Private Sub Workbook_SheetChange(ByVal...& Target.Address, ScreenTip:="单击返回到最近一次编辑的单元格",TextToDisplay:="返回" End Sub 代码假设你正在操作的工作表是Sheet1,并且将返回单元格的链接放置单元格...此时,你工作表Sheet1进行编辑操作后,单击单元格A2的“返回”,可以快速回到最后一次编辑操作的单元格,如下图1所示。...例如,如果有另一个Workbook_BeforeSave事件,每次退出工作簿时都会在指定的单元格输入最近保存工作簿的时间,如下面的代码: Private Sub Workbook_BeforeSave

87820
领券