为什么Excel给我错误“不能移动对象的表单”
我对Excelmacros做了一些小改动,尽pipe它在我开发的表上工作,但在类似的工作表上出错。
更改只需添加几列,按这些列对数据进行sorting,然后再将其删除。
两张纸之间唯一的区别是在表格中打开了AutoFilter这个错误。
它失败了在行上标题中提到的错误rng.Parent.Outline.ShowLevels RowLevels:=4
该错误涉及将对象移动到不可见的部分屏幕上。 例如评论或graphics对象。
在这种情况下,启用自动筛选意味着每个列都包含一个combobox,如ActiveSheets.Shapes
。 关于添加或删除新列的事情显然正在改变行为,但我不清楚为什么。
希望有一个更好的解决scheme,但我已经想出了这个解决方法,即使它不是优雅的作品。
- 打开AutoFilter
- 从工作表中删除所有形状
- 做处理
- 再次打开AutoFilter
在VBA中看起来像
If ActiveSheet.AutoFilterMode = True Then ActiveSheet.AutoFilterMode = False Dim s As Shape For Each s In ActiveSheet.Shapes s.Delete Next End If
做一些有趣的事情…
If autoFilter = True Then rng.autoFilter End If