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

VBA返回并激活原始工作簿时遇到问题

,可能是由于以下几个原因导致的:

  1. 工作簿未正确关闭:在使用VBA代码操作工作簿后,需要确保正确关闭工作簿,否则可能会导致后续操作出现问题。可以使用Workbook.Close方法来关闭工作簿。
  2. 工作簿被其他程序或用户打开:如果工作簿被其他程序或用户打开,并且以只读模式打开,那么VBA代码无法返回并激活原始工作簿。可以使用Workbook.ReadOnly属性来检查工作簿是否以只读模式打开,并通过适当的方式处理。
  3. 工作簿路径或名称错误:在使用VBA代码返回并激活原始工作簿时,需要确保提供正确的工作簿路径和名称。可以使用Workbook.PathWorkbook.Name属性来获取工作簿的路径和名称,并进行相应的处理。
  4. 工作簿已被关闭或未打开:如果工作簿已被关闭或未打开,那么VBA代码无法返回并激活原始工作簿。可以使用Workbook.IsOpen属性来检查工作簿是否已打开,并通过适当的方式处理。

针对以上问题,可以采取以下解决方案:

  1. 确保在操作完工作簿后正确关闭工作簿,使用Workbook.Close方法。
  2. 在返回并激活原始工作簿之前,检查工作簿是否以只读模式打开,可以使用Workbook.ReadOnly属性进行判断,并根据需要进行处理。
  3. 确保提供正确的工作簿路径和名称,可以使用Workbook.PathWorkbook.Name属性获取工作簿的路径和名称,并进行相应的处理。
  4. 在返回并激活原始工作簿之前,检查工作簿是否已打开,可以使用Workbook.IsOpen属性进行判断,并根据需要进行处理。

腾讯云相关产品和产品介绍链接地址:

腾讯云提供了一系列云计算相关的产品和服务,包括云服务器、云数据库、云存储、人工智能等。以下是一些相关产品和介绍链接:

  1. 云服务器(CVM):提供弹性计算能力,支持多种操作系统和应用场景。详情请参考:云服务器产品介绍
  2. 云数据库 MySQL 版(CDB):提供高可用、可扩展的关系型数据库服务。详情请参考:云数据库 MySQL 版产品介绍
  3. 云存储(COS):提供安全可靠、高扩展性的对象存储服务。详情请参考:云存储产品介绍
  4. 人工智能(AI):提供多种人工智能服务,包括图像识别、语音识别、自然语言处理等。详情请参考:人工智能产品介绍

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。

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

相关·内容

Workbook工作簿对象方法(二)

大家好,上节介绍过部分工作簿对象的常用方法-创建和打开,本节将继续介绍工作簿对象的激活、保存和关闭方法。...当需要改变excel文件的活动状态,可以使用workbooks集合的activate方法来激活一个工作簿。 workbooks(“工作簿名称”).activate 方法较简单,这里不做演示。...3、参数Filename指定保存修改的工作簿名称。 示例保存关闭工作簿 下面以保存关闭vba.xlsm文件为例。...如果新建的工作簿,新建的工作簿为活动工作簿。 举例如下: ThisWorkbook.Name返回示例中代码所在工作簿名称为“工作簿1.xlsm”。...而ActiveWorkbook.Name返回当前代码所在的工作簿名称为“vba.xlsm” ---- 本节主要介绍工作簿对象的常用方法,后续会介绍application对象的属性和方法,以及事件等内容等

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

    创建一个新工作簿,并将其保存为启用宏的工作簿。 2. 关闭该工作簿,然后在Custom UI Editor中打开该工作簿。 3....查找选择你想要的图像文件,单击打开。 该图像文件的副本被插入,删除原始文件不影响插入的文件。 注意:在图像文件的文件名中避免使用空字符,否则不能正确地引用文件。 6....onAction Sub SelectedColor(control As IRibbonControl, id As String, index As Integer) End Sub 复制该回调,稍后粘贴到工作簿的标准...保存关闭文件。 11. 在Excel中打开该文件。 12. 按Alt+F11键激活VBE。 13. 插入一个标准的VBA模块,粘贴在步骤9中复制的回调代码。 14....当打开该工作簿,执行LoadImage过程。

    2.9K10

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

    SendKeys方法 例如,下面的VBA代码模拟按下ALT、A和ALT键: Application.SendKeys "%A%" 将上面的语句放在Workbook_Open事件中,在打开该工作簿,将激活...XML和VBA代码(Excel 2010及以后的版本) 激活功能区选项卡的另一种方法是使用XML和VBA代码。执行下列步骤: 1. 下载CustomUI Editor安装。 2....创建新工作簿并将其保存为启用宏的工作簿。 3. 关闭该工作簿并在CustomUI Editor中打开。 4....在CustomUI Editor中,单击插入选择Office 2007 Custom UI Part。 选择这个选项使工作簿与Excel 2007及后续版本兼容。 5....要激活特定的内置功能区选项卡,例如“数据”选项卡,使用下面的代码: myRibbon.ActivateTabMso "TabData" 如果要在打开工作簿激活“数据”选项卡,在Initialize过程中插入上面的语句

    3.7K20

    Excel VBA编程

    激活工作簿 保存工作簿 close——关闭工作簿 worksheet对象 add方法新建工作表 设置name属性,更改工作表的标签名称 用delete方法删除工作激活工作表的两种方法 用copy方法复制工作表...判断某个工作簿是否已经打开 判断文件夹中是否存在指定名称的工作簿文件 向未打开的工作簿中输入数据 隐藏活动工作表外的所有工作表 批量新建指定名称的工作表 批量对数据进行分离,保存到不同的工作表中 将多张工作表中的数据合并到一张工作表中..." & Target.Address & "单元格" End Sub 常用的workbook事件 事件名称 事件说明 activate 当激活工作簿发生 AddinInstall 当工作簿作为加载宏安装发生...在保存工作簿之前发生 Deavtivate 在工作簿状态作为非活动状态发生 NewChart 在工作簿新建一个图表发生 Newsheet 在工作簿新建一个工作发生 open 打开工作簿发生...SheetPivotTableUpdate 当更新任意数据透视表发生 sheetSelectionchange 当任意工作表中的选定区域发生更改时发生 WindowActivate 在激活任意工作簿窗口发生

    45.4K22

    Excel数据表分割(实战记录)

    ).CurrentRegion '计算总行数判断是否需要创建新表 总行数 = 数据区域.Rows.Count If 总行数 <= 行数 Then Exit Sub '数据行数不足一个新表所需的行数...End Sub 请按照以下步骤操作(Sheet): 打开Excel,按下ALT + F11打开VBA编辑器。 在左侧的“项目资源管理器”窗格中,找到你的工作簿双击打开。...如果每10行数据创建一个新的工作簿而不是新的工作表(Sheet),可以使用以下VBA代码: 复制代码 Sub 分割数据() Dim 原始表 As Worksheet Dim 新表 As...).CurrentRegion '计算总行数判断是否需要创建新表 总行数 = 数据区域.Rows.Count If 总行数 <= 行数 Then Exit Sub '数据行数不足一个新表所需的行数...如果你想在每个新表中包含标题行分割数据,可以使用以下修订版的 VBA 代码: 复制代码 Sub 分割数据() Dim 原始表 As Worksheet Dim 新表 As Workbook

    35120

    Excel: 使用Windows任务计划程序定时自动打开指定工作簿

    文章背景:上文(参见文末的参考资料[1])提到,通过Application.OnTime定时执行工作簿中的VBA代码,但是它并不是一个可靠的解决方案。...本文通过Windows任务计划程序,每天早上8点自动打开指定路径的工作簿,然后激活工作表test。...Activate End Sub 这样,当打开工作簿,程序会自动激活名称为test的工作表。...(2)要使用Windows任务计划程序每天早上8点自动打开指定路径的工作簿,您可以按照以下步骤操作: 打开任务计划程序:点击 开始 按钮,输入“任务计划程序”打开它。...测试任务:在一切设置完成后,您可以手动运行该任务以测试是否可以成功打开指定的工作簿激活工作表"test"。

    64710

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

    下面介绍一个简单的使用动态菜单控件示例,在工作簿中为三个工作表(名为Data,Analysis,Reports)的每个显示不同的菜单。 1. 创建一个新的工作簿,将其保存为启用宏的工作簿。 2....content = xml 'To view the XML code in the Immediatewindow 'Debug.Print xml End Sub 当首次打开工作簿或者使动态菜单控件无效...下面展示了选择不同的工作的菜单内容: 640.gif 保留自定义复选框的勾选条件 在上面的示例XML和VBA代码中,当用户在工作表Data中单击动态菜单中的复选框后,复选框会相应地显示勾选或者取消勾选...当重新激活工作表Data,通过调用GetMenuContent过程会重新创建菜单,而复选框会重置为其默认值(即,取消勾选条件)。...Data单击动态菜单,该菜单会重新创建执行CheckBox1getPressed过程。

    6.1K20

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

    学习Excel技术,关注微信公众号: excelperfect 在前面的一系列主题中,你已经学到了很多小的修改工作簿外观的VBA代码。下面,我们将介绍一个简单的示例程序,实现下面的功能特点: 1....当打开工作簿, 1.1 激活特定的工作表(名为Sample)。 1.2 开始的3行被冻洁。 1.3一个特定的行(行50)向上滚动并成为解冻窗格的顶部行。...2.3 如果选择了指定的项目(例如Group2),那么激活指定的工作表(名为Sheet2),对其外观作出下面的改变: 2.3.1 在页面布局视图中显示工作表 2.3.2 隐藏行和列标题 2.3.3 删除工作表中的网格线...激活工作表Sheet1,选择一个单元格区域,在“名称”框中输入“Sheet1!MyRange”来命名为一个工作表级的名称。 5. 关闭该工作簿,然后在Custom UIEditor中打开该工作簿。...插入标准的VBA模块,复制粘贴下列VBA代码: Public myRibbon As IRibbonUI '库中图像的数量 Dim ImageCount As Long '图像的文件名 Dim ImageFilenames

    2.3K10

    Workbook工作簿对象方法(一)

    大家好,前面介绍了工作簿对象的属性,本节开始介绍工作簿对象的常用方法。这些常用方法可以实现平时用手工的新建、打开、激活、保存excel表等功能。...代码为workbook.add [Template] 1、参数可省略,add方法不加参数,excel创建新的空工作簿,自动将工作簿命名为“BookN”,其中N为顺次的数字,(可以通过application...二、工作簿对象open方法 在使用EXCLE文件,在VBA代码中打开工作簿是通过workbooks集合的open方法。...将 Workbooks.Open(fn1)返回工作簿对象赋值给wb1变量。(此处省略了fiename:= ,同时用变量fn1代理文件路径。)...3、参数ReadOnly可选,如果设置其值为True,将在只读模式下打开工作簿。 4、参数Password可选,指定打开受保护工作簿需要的密码。

    6.2K40

    Excel编程周末速成班第3课:Excel对象模型

    例如,你的程序打开一个工作簿并需要使用其现有的一个工作表。在其他时候,该对象不存在,并且你的程序必须创建该对象获得引用(例如,当向工作簿中添加新工作)。...参数RouteWorkbook,仅当将路由清单附加到工作簿且尚未路由,此参数才有意义。设置为True可以路由工作簿,设置为False可以不路由工作簿。如果省略此参数附加了路由清单,则会提示用户。...引用工作表 你已经看到了使用创建工作返回的引用或从Worksheets集合中获取引用来引用工作簿中特定工作表的几种方法。...如果要复制到原始工作簿中的某个位置,使用参数Before或参数After(但不能两个都使用)指定要在其之前或之后放置复制的工作表的现有工作表。...Worksheets(“Sheet1”).CopyAfter:=Worksheets(“Sheet3”) 在工作簿中进行复制,将为副本指定带有索引的原始工作表的名称,例如“ Sheet1(2)”。

    5.1K30

    Excel编程周末速成班第22课:使用事件

    有三类事件: 事件始终是用户操作的结果,例如单击用户窗体上的控件或按某个键 用户操作或VBA代码可能引起的事件,例如打开工作簿激活图表 与用户操作无关的事件,例如一天中的特定时间的发生 总体而言,Excel...当选择事件,编辑器会在窗口中自动输入该过程的框架。你可以手动输入事件过程,但是这样自动输入功能可以节省时间减少错误。...工作簿工作表或图表的事件过程应始终放置在与该工作簿关联的工程中。 如果可以在编辑窗口顶部的对象和事件列表中找到对象和事件,则将过程放置在当前模块中。...下面是一个示例:将在工作簿中添加新工作,将按以下顺序触发下列三个应用程序级事件: 当添加新的工作,将发生WorkbookNewSheet。...当停用先前处于活动状态的工作,将发生SheetDeactivate。 当激活工作,将发生SheetActivate。

    2.8K10

    Python+Excel数据分析实战:军事体能考核成绩评定(一)项目概况

    一、技术背景 Excel(Microsoft office)是现在最常用的办公软件,主要涉及电子表格制作、数据处理、报表输出展示以及更高端的还有金融建模等;我们知道,在需要批处理多个Excel工作表以及工作簿的时候...支持 XLSX / XLSM / XLTM 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写 API,用于处理包含大规模数据的工作簿。...缺点:Pandas在数据处理上是非常方便的,但在文档外操作,如批量修改工作簿名称,就需要引入os库;同时如果已有Excel文档是带格式(颜色填充、字体设置、单元格合并等),写入Excel的时候就会破坏掉原来的格式...考虑到大家日常工作中,最常用的就是用Excel登统计原始成绩,所以本项目采用Python+Excel的设计,直接对Excel登统计的所有原始成绩进行处理,得到换算结果,汇总个人成绩评定。...而2101~2200米的标准又有变化,因为海拔2101~3000米,每增加100米,标准递增8秒。但是原始成绩却是时间段内连续的,比如11分43秒,11分44秒等。

    2.2K10

    Workbook工作簿对象基础

    一、工作簿对象的引用 一个工作簿对象workbook实际就是一个excel文件,在vba代码使用时引用它主要有两种方式,一种是通过工作簿对象名称,一种是是通过index索引号。...Workbooks("vba.xlsm").Worksheets.Count表示统计vba.xlsm工作簿对象的普通工作表的数量,在引用工作簿对象,表示方法为:Workbooks("vba.xlsm"...电脑打开了三个工作簿,从左至右分别是vba工作簿1,示例表。通过循环来获得三个工作表的名称。...三、Activeworkbook Activeworkbook是指当前活动的工作簿。 在使用excel,都是在某个工作簿workbook中进行编辑。...即该工作簿当前是被激活的状态,使用activeworkbook来表示。 在workbook工作簿对象层级上为application主程序对象,在代码中可以选择性省略。

    2.8K30

    Python+Excel数据分析实战:军事体能考核成绩评定(一)项目概况

    一、技术背景 Excel(Microsoft office)是现在最常用的办公软件,主要涉及电子表格制作、数据处理、报表输出展示以及更高端的还有金融建模等;我们知道,在需要批处理多个Excel工作表以及工作簿的时候...支持 XLSX / XLSM / XLTM 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写 API,用于处理包含大规模数据的工作簿。...缺点:Pandas在数据处理上是非常方便的,但在文档外操作,如批量修改工作簿名称,就需要引入os库;同时如果已有Excel文档是带格式(颜色填充、字体设置、单元格合并等),写入Excel的时候就会破坏掉原来的格式...考虑到大家日常工作中,最常用的就是用Excel登统计原始成绩,所以本项目采用Python+Excel的设计,直接对Excel登统计的所有原始成绩进行处理,得到换算结果,汇总个人成绩评定。...而2101~2200米的标准又有变化,因为海拔2101~3000米,每增加100米,标准递增8秒。但是原始成绩却是时间段内连续的,比如11分43秒,11分44秒等。 ?

    2K10

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

    当打开工作簿执行该回调。 GroupAlignmentExcel组元素包括getVisible属性。通过该属性指向HideAlignmentGroup过程,在打开工作簿或使该控件无效执行。...如果活动工作表不是标准工作表,就隐藏该组,否则该组可见。 注意,当打开工作簿,创建ribbon对象。编辑VBA代码可能销毁这个新创建的对象。...试图使与销毁对象相关的控件无效是不可能的,唯一的办法是重新创建ribbon对象重新打开该工作簿。 当激活图表工作,“开始”选项卡中的“对齐方式”组被隐藏,如下图所示: ?...例如,按Alt+I+S将显示“符号”对话框,按Alt+F1将插入一个空的嵌入式图表显示“图表工具”上下文选项卡,右击工作表单元格将显示单元格上下文菜单和Mini工具栏。...当打开工作簿或者当其中一个或两个控件被无效执行该回调。

    7.9K20

    工作簿有密码,自动刷新数据,没问题! | PQ重要技巧

    然鹅,偏偏回到Excel本身,如果工作簿设置了密码,Power Query却没有提供输入密码自动刷新的功能,结果,碰到有密码的Excel工作簿,刷新就会出错,还提示为“文件包含损坏的数据”……如下图所示...这个时候,不要忘了还有咱们的老朋友VBA嘛!通过Power Query与VBA的强强联合,咱们就可以刷新对带密码Excel工作簿数据的自动刷新。...里处理好数据源的引用路径,既方便Power Query的引用,也方便在VBA里引用: 同时将这个表接入到Power Query里: 这样,就可以在获取数据源直接引用已经处理好的路径...- 3 - VBA实现解密刷新 通过VBA,我们可以用密码打开数据源工作簿,清除密码,然后刷新查询,刷新完毕后再对数据源工作簿重新加密……是不是很像“把大象放进冰箱里”的三个步骤?...'2、刷新数据 ThisWorkbook.Connections("查询 - 表2").Refresh '3、重新打开工作簿,设置密码保存关闭 Set wb = Workbooks.Open

    3.7K41

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

    excelperfect 本文介绍的自定义函数来源于wellsr.com,以Excel的CELL函数和INFO函数为样板,可直接返回工作表或工作簿的名称或工作簿路径,以及与Excel及其操作环境有关的各种信息...本文对其内容进行了整理分享于此,希望能够有助于VBA代码的学习,同时留存这个自定义函数以备所需。...Excel研究\06.2 VBA代码库\09\[VBACodeLibrary09.xlsm]Sheet1 下面的公式来拆分出工作簿路径、工作簿名称和工作表名称。...NameOf函数的代码如下: ' 返回工作表名,工作簿名或工作簿路径 ' 或者, 返回应用程序名、版本、标题、状态栏、用户名、组织名或当前打印机 ' 或者, 返回环境变量"COMPUTERNAME" 或...注意,使用Application.Volatile以确保在打开工作簿或重新计算单元格,所有引用NameOf函数的单元格都会得到更新。

    4.6K10

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

    语法错误是VBA语法中的错误。VBA编辑器会在你编写代码捕获标记语法错误,因此它们永远不会影响程序执行。...一个示例是Workbook对象,如果尝试打开磁盘上不存在的工作簿,或者尝试将工作簿保存到不存在的磁盘上,则Workbook对象会捕获错误显示其自己的对话框(如图26-2所示))。...程序中的错误捕捉永远不会被激活。 不幸的是,Microsoft尚未提供有关对象内部捕获哪些错误以及将哪些错误传递给VBA进行处理的任何信息。...程序可以在无法提前知道是否打开特定工作簿的情况下使用此功能。清单26-3展示了一个函数,该函数在打开返回工作簿的引用,或者在没有打开返回Nothing。程序可以调用此函数测试其返回值。...如果此值为Nothing,则程序可以采取步骤打开工作簿

    6.7K30
    领券