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

代码不像``Add in或Personal XLSB`那样工作[相同的代码在创建它的工作簿中运行良好]

代码不像Add in或Personal XLSB`那样工作相同的代码在创建它的工作簿中运行良好。

这个问题涉及到Excel中的VBA宏代码的执行环境。在Excel中,VBA宏代码可以存储在工作簿中的不同位置,包括工作簿本身、个人工作簿(Personal Workbook)以及Excel加载项(Add-in)中。

  1. 工作簿中的代码:当代码存储在工作簿中时,它将与该工作簿绑定。这意味着代码只能在创建它的工作簿中运行,无法在其他工作簿中使用。这种方式适用于特定工作簿的定制化需求。
  2. 个人工作簿中的代码:个人工作簿是一个特殊的工作簿,其中的代码可以在任何打开的工作簿中运行。通过将代码存储在个人工作簿中,可以实现代码的复用和共享。个人工作簿的路径通常是C:\Users\用户名\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.XLSB。可以通过以下步骤创建个人工作簿:
    • 打开一个新的Excel工作簿。
    • 将代码粘贴到工作簿中。
    • 将工作簿另存为个人工作簿(PERSONAL.XLSB)。
  3. Excel加载项中的代码:Excel加载项是一种可在Excel中共享和重复使用的功能扩展。通过将代码存储在Excel加载项中,可以在任何打开的工作簿中使用该代码。Excel加载项可以通过自定义开发或使用第三方工具创建。腾讯云相关的产品和产品介绍链接地址可以在腾讯云官方网站上找到。

总结:

  • 工作簿中的代码只能在创建它的工作簿中运行。
  • 个人工作簿中的代码可以在任何打开的工作簿中运行。
  • Excel加载项中的代码可以在任何打开的工作簿中使用。

注意:以上回答中没有提及具体的腾讯云产品和链接地址,因为问题与云计算领域的专业知识没有直接关联。

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

相关·内容

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

个人宏工作簿是一个文件,可以在应用程序开启时运行其中的VBA代码,就像是运行功能区选项卡中的命令一样。创建个人宏工作簿很简单,如下所示。...步骤1:打开一个Excel工作簿,单击功能区“开发工具”选项卡中的“录制宏”命令,在弹出的“录制宏”对话框中,选取“保存在”下拉列表框中的“个人宏工作簿”,如下图1所示。单击“确定”。 ?...图1 步骤2:在工作表中随便选取一个单元格,然后单击“开发工具”选项卡中的“停止录制”。 此时,Excel将自动创建个人宏工作簿文件。...图2 步骤3:双击Personal.xlsb中的模块,在其中编写我们想要实现功能的VBA代码。 步骤4:保存文件。...图3 下面,我们将《Excel实战技巧77:实现在当前工作表和前一个使用的工作表之间自由切换》中创建的快捷键功能放到个人宏工作簿中,以便于在所有打开的工作簿中都能使用这个功能。

3K30

在加载宏及其源文件之间切换

下面是www.wimgielis.com中提供的一个示例,在Personal.xlsb(个人宏工作簿)中,还添加了五个过程在xlsm版本(主要用于开发)和xlam版本(主要用来测试和使用)之间切换: Addin_SAVE_AS...可以在原网站搜索并下载示例代码工作簿。...也可以在完美Excel微信公众号中发送消息: 切换加载宏 获取示例代码工作簿的下载链接。 或者,直接到知识星球App完美Excel社群中下载示例代码工作簿。...下面是4个程序代码: Const Addin_FileName As String = "Menu_Test.xlsm" ' 在文件及其加载项对应文件之间切换的过程 Sub Addin__SAVE_AS...Then Workbooks(Addin_FileName).Close End If On Error GoTo 0 End Sub 最后补充一点,这两个文件(xlsm和xlam)都存储在加载宏的默认文件夹中

11910
  • 文科生也能学会的Excel VBA 宏编程入门

    这时,点击【开发工具】 → \rightarrow →【宏】也能找到我们编写的宏,点执行就能运行,但我们可以看到,这里宏的位置为“ThisWorkbook”,也就是我们打开的这个Excel文件,在别的文件里是无法运行这个宏的...全局宏 上面我们提到,通过【Visual Basic】进入编程界面编写的宏是属于单个文件或Sheet的,如果我们想编写一个可以在所有文件中运行的宏要怎么做呢?下面是具体做法。...点击【开发工具】 → \rightarrow →【录制宏】 宏名称随意,保存在必须选择【个人宏工作簿】,这个工作簿就是这台电脑共享的宏保存位置,具体位置为C:\Users\【用户名】\AppData\Roaming...\Microsoft\Excel\XLSTART,里面有一个文件叫PERSONAL.XLSB。...仅仅是将代码复制过来是不够的,因为这个宏是共用的,代码中Sheet1等变量的指代不明,不知道是哪个Excel文件中的Sheet1,因此我们做些小的修改。

    5.7K20

    《Python for Excel》读书笔记连载17:使用读写器包进行Excel文件操作(上)

    与上一章一样,本章不需要安装Excel,这意味着所有代码示例都可以在Windows、macOS和Linux上运行。...另一方面,如果可以在Windows或macOS上运行脚本,并且可以在Windows或macOS上安装Excel,那么xlwings确实可以作为本章中所有软件包的替代品。...为了让你更轻松使用,创建了一个辅助模块,下面将介绍它。...excel.py模块 已经创建了excel.py模块,使你在使用reader和writer软件包时更加轻松,因为它解决了以下问题: 包切换 必须切换读写器包是一种比较常见的情况。...下面的代码生成的工作簿与之前使用OpenPyXL生成的工作簿相同,如图8-1所示。注意,XlsxWriter使用基于零的单元索引,而OpenPyXL使用基于一的单元索引。

    3.9K20

    Excel文件常见格式及其作用

    xls xlsx xlsb xlsm xltx xlam 1,2,3,4,5,6 一共6个格式 这就是我们今天要说的六个Excel格式 xls 这是我刚学习Office时候的格式 那时候还是Excel...2003 在Office 2007发布之前的Excel就用这个格式 现在打开这个文件 会在文件名后带上'兼容'字样 很符合Windows产品的特色 新产品会向前兼容旧产品 如果你打开一个Excel 发现很多功能按钮是灰色的并且没有被保护...所以xlsx有时候会更大 xlsm 关于这个格式 我们只需要知道 它可以保存Excel文件中的代码就行了 xlsb 关于这个格式 我们同样只需要知道 它可以保存Excel文件中的代码 但是文件体积比xlsm...如果要编辑这个格式的文件 得右键→打开 可以用在票据打印的时候 xlam 这个格式叫'加载宏' 类似于我们常常见到的各种Excel工具箱或Excel内置的数据分析等等 你也可以做一份自己常用的功能文件保存为...顺带提一下常见的一个错误提示 这种一般是因为你在两个工作簿之间全选复制粘贴 而这两个工作簿中的行列不同所导致的 你只需要 1 只复制粘贴数据区域 2 将一个表另存为与另外一个表相同的格式即可 以上

    2.1K20

    VBA代码:拆分工作簿示例——将工作簿中的每个工作表保存为单独的工作簿

    标签:VBA 有时候,我们想将工作簿中的每个工作表都保存为一个单独的工作簿。 你可以使用下面的操作逐个保存工作表: 1.在工作表标签中单击右键。 2.选取“移动或复制…”命令。...3.选择“(新工作簿)”。 4.保存该工作簿。 图1 这样,有多少工作表,你就要操作上面的步骤多少次。 然而,如果存在很多个工作簿,这样的重复工作使用VBA是最合适的。...strExtension = arr(UBound(arr)) Select Case strExtension Case "xlsb":lngFileFormatCode =...Next wks Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub 只需在要拆分的工作簿中运行上述代码...,就可将该工作簿中的所有工作表全部保存为单独的工作簿。

    4.1K11

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

    对于独立式应用程序,在启动时首先进行版本检查和一些必要的验证,以确保能正确地运行应用程序;然后,保存Excel在应用程序启动前的环境状态,以便在应用程序关闭时恢复Excel原有状态;接下来,创建应用程序用户接口...而保存这些设置最方便的地方是加载宏中的工作表,或者是与应用程序相同目录下的纯文本文件,或者是注册表。...As String Dim objTemp As Object Dim wkbTemp As Workbook '一些属性需要打开工作簿,因此创建一个工作簿 If ActiveWorkbook...5.关闭任务栏中的窗口。因为可能会处理多个打开的工作簿,此时不允许用户在这些工作簿之间进行跳转。 6.不允许定制命令栏。 7.针对Excel 2002及其以后的版本关闭自动恢复功能。...当然,最终用户不能进行相同的操作。 实现上述目标的一个最简单的方法是在应用程序启动过程中,检查在指定位置是否存在某个特定的文件,并相应设置一个逻辑变量gbDebugMode。

    1.4K20

    Python让Excel飞起来:使用Python xlwings实现Excel自动化

    (fig,name='MyPlot',update=True) 图9 最后,正如我们对每个Excel电子表格所做的那样,我们必须保存我们的工作并关闭文件。...然而,它需要一点VBA来允许Excel调用Python函数。 Python脚本 让我们首先编写一个简单的Python函数,该函数生成10个随机数,然后将它们放在Excel工作表单元格A1中。...注意,xw.Book.caller()引用当前工作簿。 将以下脚本另存为“rand_10.py”。...接下来,保存VBA代码,现在我们要在Excel工作表中创建一个按钮。返回Excel界面,在“开发工具”选项卡,单击“插入->按钮”,并指定刚创建的宏Rand_10。...Excel设置 默认设置预计Python代码和Excel文件为: 在同一目录中 名称相同,但Python文件以.py结尾,Excel文件以.xlsm(或.xlsb)结尾 为了演示,我将把文件命名为“square.py

    9.7K41

    Excel小技巧78:恢复未保存的Excel工作簿

    此时,如何恢复我们的成果? 幸好,Excel提供了一些选项和功能可用于恢复未保存的文件。 在Excel中,有一个自动保存功能,可以临时保存文件。...保留上次自动保留的版本:如果没有保存就关闭工作簿,保留最新版本:它会创建文件的备份版本。 注意:确保恢复时间尽可能短以保存更多版本。...当你正在处理尚未保存到任何位置的文件时,Excel崩溃了或没有保存就将其关闭了,此时,重新打开Excel,单击Excel左上角“文件——打开”,再单击右侧的“最近”,接着单击右下方的“恢复未保存的工作簿...图3 打开工作簿后,它会显示一条消息,提示你在使用该文件或对其进行任何更改之前先保存该文件。 ? 图4 注意:Excel保存为备份的文件为“xlsb”格式,因此在保存文件时确保使用正确的格式。...图5 此外,在Excel2010及以上的版本中,还可以重新恢复为工作簿以前的某个版本,可以在“文件——信息”下的“管理工作簿”中找到。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

    2.1K00

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

    一种方法是在分别使用Add或Open方法创建或打开工作簿时赋值引用,因此: Dim MyNewWB As Workbook Dim MyOpenedWB As Workbook Set MyNewWB...如果已经创建或打开了工作簿(换句话说,如果它已经存在于Workbooks集合中),则可以直接从集合中引用它。因此,代码 Workbooks(Name) 返回对具有指定名称的工作簿的引用。...ThisWorkbook,引用正在运行的代码所在的工作簿。 活动工作簿的概念很容易理解:它表示活动的并且在屏幕上的工作簿。ActiveWorkbook关键字可能非常有用。...引用工作表 你已经看到了使用创建工作表时返回的引用或从Worksheets集合中获取引用来引用工作簿中特定工作表的几种方法。...复制和移动工作表 可以将整个工作表复制或移动到原始工作簿中的新位置或其他工作簿中,其语法如下(使用Move方法移动工作表;语法与Copy相同): 工作表.Copy(Before,After) 工作表是对要复制的工作表的引用

    5.1K30

    ExcelVBA-ADO-SQL-001连接数据库

    但仅仅这种设置并不可靠,IMEX=1只确保在某列前8行数据至少有一个是文本项的时候才起作用,它只是把查 找前8行数据中数据类型占优选择的行为作了略微的改变。...例如某列前8行数据全为纯数字,那么它仍然以数字 类型作为该列的数据类型,随后行里的含有文本的数据仍然变空。...数据区域也可以用Excel中定义的名称表示,假如有个工作簿作用范围的数据区名称datarange,查询语句为: "SELECT * FROM [datarange]" 如果数据区名称作用范围是工作表,需要加上工作表名...:"SELECT *FROM [sheet1$datarange]" 有密保的工作簿: 如果Excel工作簿受密码保护,即使通过提供正确的密码与连接字符串,也无法打开它来进行数据访问。...ADODB.Connection") Set Rst =CreateObject("ADODB.Recordset") PathStr = ThisWorkbook.FullName '设置工作簿的完整路径和名称

    2.1K60

    Excel实战技巧66:创建向导样式的数据输入窗体1

    当然,最好是自已跟着讲解一步一步的实现最终结果。在实践的过程中,可能会发生这样那样的错误,不要着急,仔细对照并调试,相信这样的反复对水平的提高有益无害。再说一遍,跟着做,坚持,拥抱错误并独立解决。...向导样式的数据输入是一种非常普遍的技术,用于帮助用户输入较多的或复杂的数据。向导允许将数据拆分成相互联系的多个部分,通过按顺序输入数据的过程来指导用户完成数据输入。...本文的示例工作簿名称为HRWizard.xlsm,由2个工作表组成,如下图1所示。...其中,名为EmpData的工作表为员工数据库工作表,名为ListMgr的工作表包含在创建数据输入窗体向导时使用的不同的列表。...图1 EmpData工作表被分成4部分:Personal、Address、Equipment、Access,如下图2至图5所示。 ? 图2:员工个人信息 ? 图3:员工地址信息 ?

    1.2K10

    Python与Microsoft Office

    在本例中,要传递的字符串是“Excel.Application”,只需在后台打开Excel即可。此时,除非运行任务管理器,否则用户甚至不知道Excel已打开。...下一行是通过调用Excel实例的“Workbooks.Add()”方法将新工作簿添加到Excel,这将返回一个sheets对象。要获得活动表,调用ss.ActiveSheet。...使用生成的代码,我解决了要在Python中获得的公式,只需执行以下操作: formula=sh.Cells(row, col).Formula 如果需要改变所在的工作表,怎么办?...对象的“sheets”方法,在稍微修改之后,通过执行以下操作使其在Python中工作: sheet2 = ss.Sheets(“Sheet2”) 现在,我们在工作簿的第二个工作表上有了一个句柄。...如果想编辑或检索值,只需将上面使用的相同方法加在sheet2实例(即sheet2.Cells(1,1).Value)即可。原程序的最后两行将关闭工作表,然后退出整个Excel实例。

    2.6K20

    JavaScript前端电子表格处理神器 SheetJS

    SheetJS 是一个基于 JavaScript 的表格处理库,它支持各种表格文件格式,包括 Excel、CSV 等。...SheetJS库通过将程序员友好的JSON转换为用户友好的工作簿来帮助弥合差距。 本例的目标是有了一个简单的姓名和年龄列表,我们将使用SheetJS API函数来构建一个工作簿对象并导出到XLSX。...XLSX.utils.json_to_sheet(json, { header: ['姓名', '年龄'] }) /** 将Sheet写入Sheet 工作簿...XLSX.writeFile(book, 'SheetJS数据导出.xlsx') }); 导出结果 导入 此示例的目标是处理XLS工作表中的联邦学生资助组合数据...我们将从美国教育部下载并解析一个工作簿。解析完原始数据后,我们将提取未偿还美元总额并将数据显示在一个表中。 导入流程图 导出文件ImportSheetJS.html <!

    1.9K10

    Excel VBA编程

    在VBA中,Excel的工作簿,工作表,单元格等都是对象,图表,透视表,图片等也都是对象,甚至于单元格的边框线,插入的批注都是对象… 集合也是对象,它是对多个相同类型对象的统称。...——add 创建空白工作簿:如果直接调用workbook对象的add方法,而不设置任何参数,excel将创建一个只含普通工作表的新工作簿 指定用来创建工作簿的模板: 如果想将某个工作簿文件作为新建工作簿的模板...如想删除B3所在的整行单元格,应将代码写为: range("B3").entirerow.delete 操作对象的一些例子 根据需求创建工作簿 利用VBA创建一个符合自己需求的工作簿,并将其保存到指定的目录中...在窗体中添加和设置控件的功能 用代码操作自己设计的窗体 显示窗体 手动显示窗体 在VBE窗口中选中窗体,依次执行【运行】——>【运行子过程/窗体】命令,即可显示选中的窗体 在程序中用代码显示窗体 sub...标签告诉VBA,当程序运行过程中晕倒运行时错误时,跳转到标签所在行的代码继续执行程序,实际上就是让程序跳过出错的代码,从另一个地方重新开始执行程序。

    45.8K33

    智能分析工具PK:Tableau VS Google Data Studio

    大多数工作都是在桌面上完成的,然后通过网络发布到线上(一个或多个目的地)。 Data Studio 360是一个基于web的工具。它只能通过浏览器才能使用。...2.在源代码中处理数据集 Tableau为可视化的数据提供了很多解决方案。例如,可以在源代码中隐藏列、创建列组、分列、主列、应用过滤器。Data Studio 360目前还没有提供数据准备。...7.选择指标和维度 Tableau中的度量和维度是通过拖放或通过右键单击和选择“Add to sheet”来选择的。 Data Studio根据用户在工具栏上选择的图表类型自动选择维度和度量。...然而,在开发过程中,它并没有提供协作性工作和协作编辑的方式。 Data Studio借鉴了Google Drive的共享功能,这意味着你可以使用Google Drive分享一个报告或一个数据源。...Tableau的访问控制选项是面向企业客户的。你可以创建自定义规则来分配访问权限,并且你可以在项目、工作簿或数据源的级别上分配权限。访问级别包括:未授权、访客、交互器、发布者和管理员(站点或服务器)。

    4.8K60

    学习Python与Excel:使用Python和xlwt创建Excel工作表

    xlwt库非常容易使用,下面的代码创建包含有一个工作表的Excel工作簿: import xlwt def main(): book = xlwt.Workbook() sheet1 = book.add_sheet...在该函数中,xlwt.Workbook创建一个工作簿实例,使用add_sheet方法添加一个名为“MySheet1”的工作表,然后输入5行5列的内容,最后保存该工作簿。...下面,在上述代码的基础上,还将创建一个具有红色背景、边框和特定日期格式的单元格: from datetime import date import xlwt def main(): book =...-------------------------------------------------------------- if __name__ == "__main__": main() 运行代码后的结果如下图...图1 好了,现在知道如何使用xlwt库创建简单的Microsoft Excel电子表格了。注意,它使用旧的*.xls格式创建电子表格,不支持*.xlsx格式。

    1.3K10

    Worksheet工作表对象方法

    两段代码中activate和select方法的结果相同。都是将workshets(1)工作表对象激活。 那么两种方法有什么区别呢?...下面通过举例说明,最简单的开始只添加一个新的工作表。 省略所有参数,运行代码add方法会再活动工作表前面添加新的工作表。 如果需要指定位置和数量,就需要使用add方法的参数。...代码中通过add方法的after参数,在工作表worksheets(worksheets.count)后添加一个新工作表。...如果没有指定参数,Excel将创建一个包含所复制工作表的新工作簿。...如果没有指定参数,Excel将创建一个包含所移动的工作表的新工作簿。原表中不保留。 如果不指定参数,那么会将表移动到新建的工作表中。

    2.2K10

    VBA实用小程序61: 在文件夹内所有文件中运行宏在工作簿所有工作表中运行宏

    学习Excel技术,关注微信公众号: excelperfect 在文件夹中所有文件上运行宏,或者在Excel工作簿中所有工作表上运行宏,这可能是一种非常好的Excel自动化方案。...例如处理类似的数据工作簿文件并想要提取数据或转换该工作簿。下面给出了适用这种情况的一些VBA程序,这些程序代码整理自analystcave.com,供有兴趣的朋友参考。...2.打开一个单独的Excel进程(应用程序),然后逐个打开每个文件。 3.使用要在每个打开的工作簿上运行的代码替换“在这里放置你的代码”部分。 4.每个打开的工作簿在关闭时不会保存所作的修改。...在子文件夹内所有文件中运行宏 当想在文件夹中所有Excel文件上运行宏时,其中的一种情况是遍历所有子文件夹来运行宏。..." End Sub 在工作簿所有工作表中运行宏 代码如下: '本程序来自于analystcave.com Sub RunOnAllWorksheets() Dim folderName As String

    4.8K11
    领券