vba - Excel-VBA - 从按钮添加工作表是有效的,但不是从宏
问题描述
我想知道,我可以在调用 Sub 方法的单元格中使用宏添加 Excel 表吗?从按钮调用相同的代码效果很好。
我的代码崩溃了一个.Range("A1") = "Col1"
美妙的错误信息Application-defined or Object-defined error
。我读过我的细胞需要完全合格。所以我尝试用 替换ThisWorkbook
,Workbooks("MyExcelAddins.xlam")
但没有成功。
是不是因为当我在一个单元格中时,应用程序的状态不一样?我想添加工作表不起作用...
谢谢你。
我的代码:
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With ThisWorkbook.Sheets.Add
.Range("A1") = "Col1"
.Range("B1") = "Col2"
.Range("C1") = "Col3"
.Range("D1") = "Col4"
.Range("A2") = filter1
.Range("B2") = filter2
.Range("C2") = filter3
.Range("D2") = filter4
Workbooks("MyExcelAddIns.xlam").Sheets("MyDataSheet").Range("tblMyDataToFilter").CurrentRegion.AdvancedFilter xlFilterInPlace, .Range("A1:D2")
.Delete
End With
Application.ScreenUpdating = True
Application.DisplayAlerts = True
编辑
澄清 1:我所说的“在调用 Sub 方法的单元格中使用宏”的意思是=MyFunc(A1;A2;A3;A4)
.
澄清 2:是的,我知道我的代码正在立即删除工作表。我希望能够在不循环遍历每一行的情况下过滤表,我在这个答案中找到了这种技术:VBA (Excel): Find Based on Multiple Search Criteria without Looping。
最后,我将这篇文章标记为“已回答”,因为 David Zemens 的评论。
在执行 UDF 工作表函数调用期间,通常禁止更改 Excel 环境。
这是我一直在寻找的答案。感谢你们。
解决方案
推荐阅读
- javascript - 使用nodejs,express mongoose在文件共享系统中出错
- python - cur.fetchone()[0] 突然变成了 Nonetype
- javascript - 如果第一个评估为 TRUE,我希望我的 javascript 移动到下一个 if 语句
- oracle - ODI 12c - 可能因为“创建为”对话框中选择的技术不正确,无法在图表上放置任何对象
- android - 从 Android 中打开带有图库的 Instagram 应用程序以供选择
- javascript - UNHANDLEDREJECTION 回调已在 aysnc 并行中调用
- javascript - 事件对象中名称属性的值不正确
- javascript - Vue 和 Firebase 不发送数据
- node.js - 如果我想要猫鼬中的类别和子类别,如何编写模式
- react-native - React 本机选项卡导航模式选项