我使用以下代码创建一个名为 Dashboard 的表格,直到昨天它还能正常工作
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.ListObjects.Add(xlSrcRange, Selection, , xlYes).Name = "Dashboard"
Range("Dashboard[#All]").Select
ActiveSheet.ListObjects("Dashboard").TableStyle = "TableStyleLight9 2"
然而,现在我得到运行时错误'1004'表不能超过另一个表错误。任何人都可以帮助我为什么我得到这个错误以及如何解决它
提前谢谢你:)
答案 0 :(得分:0)
这个问题可能并不在你的宏中,而在于你/ Excel处理表格的方式。我的猜测是,之前有一张桌子(或者仍然是,但不可见),并且你的宏试图覆盖到其他桌子的范围。检查公式>如果有任何(过时的)表覆盖相同的范围,则命名。
另一个问题可能是您尝试在同一页面上创建2个表,其中一个表已经存在(因为您硬编码了要创建的表的名称)。
如果这些都没有帮助,请尝试使用以下代码进行调试;
dim vTmp as variant
for each vTmp in application.ListObjects
debug.print vTmp.name, vTmp.range
next vTmp
然后检查覆盖相同范围的表格。
答案 1 :(得分:0)
我发现它实际上可能不是妨碍您创建新表的方式的表...。它可以只是一个命名范围,甚至是单个命名单元格。因此错误消息有点误导。