【问题标题】:Google Sheets not recognizing macrosGoogle 表格无法识别宏
【发布时间】:2021-02-02 00:05:40
【问题描述】:
我用 VBA 代码(宏)制作了一个 Excel 电子表格,并将其保存为“MyFile.xlsm”。
后来我不得不将它上传到 Google 表格上,这时我遇到了一个问题:我的宏没有运行。
当我用谷歌搜索它试图解决问题时,建议是转到我的谷歌表,选择工具 --> 宏 --> 记录宏(或导入)。
我的问题是我的工具选项卡中没有该选项(附图片)。
其他人还有相同的疑问么?如果是这样,您有其他选择吗?
【问题讨论】:
标签:
excel
vba
google-apps-script
google-sheets
compatibility
【解决方案1】:
由于屏幕截图显示 .XLSM 标签,您的 Excel 电子表格正在使用 Google 表格进行编辑,而无需将其转换为 Google 表格格式。在这种情况下,某些功能不可用,例如脚本编辑器和宏记录器,因为它依赖于脚本编辑器。
要使用 Google 表格的所有功能,您必须将 Excel 文件转换为 Google 表格格式,但请记住,Google 表格不支持某些 Excel 功能(包括公式函数)。此外,如果您将 Excel 文件转换为 Google 表格,宏不会从 VBA 转换为 Google Apps 脚本,您必须进行转换。
有关更多详细信息,请查看以下喜欢的官方资源。
如果您有一个支持 Macro Converter 插件的 Google Workspace 帐户,您可能会使用它,但请记住,转换并不是一件简单的事情,因为除其他外,这两个都需要“熟练”使用 Excel 和 Google 表格电子表格以及使用 VBA 和 Google Apps 脚本编写脚本
参考文献
资源
从 Microsoft Excel 切换到表格
【解决方案2】:
问题:
恐怕您将vba 与google-apps-script (GAS) 混淆了。 Google 表格和 Excel 是两个完全不同的平台,它们可能看起来很相似,但有很大的不同。
很遗憾,您不能在 GAS 中使用您的 excel 宏。如果您想在电子表格文件中使用宏,那么您需要创建一个GAS 脚本。创建一个新的电子表格文件,将数据从 excel 文件复制到此电子表格文件,然后转到 Tools => Script 编辑器创建一个 GAS 脚本,该脚本执行您的 VBA 将执行的操作。
解决方法:
-
学习 GAS!这里是关于Google Apps Scirpt的基本介绍。
-
在没有任何 GAS 知识的情况下创建宏的另一个想法是
在谷歌电子表格中记录宏。
-
显然有这个Macro Converter 是一个附加组件,您可以将它安装在您的电子表格上,它可以将您的VBA 代码转换为GAS 代码,但它仅限于企业客户并且某些API 可能不可用.个人没用过,但是如果你想避免学习GAS,那我想这可能是一个可行的解决方案。
就个人而言,我只能推荐我的第一个建议,那就是学习GAS。这将使您能够创建适合您的特定要求的最佳解决方案。