我最近一直在编写一些宏来浏览工作表/更改可见性/导入导出数据等。我通常只是将宏作为按钮嵌入到工作表上。 通常这很好用,但是,我确实遇到了一个问题,即使用宏或用户窗体取消隐藏一张非常隐藏的工作表,选择它并退出宏或表单。
我这样做是通过:
With Sheets("Sheet1")
.visibile = xlsheetvisible
.activate
.Range("A1").select
End With
当我尝试操纵纸张时 - 例如键入单元格,从单元格中删除数据,或使用GUI插入/删除行而不是通过代码执行,操作发生在原始工作表上,并使用调用窗体或宏的按钮。而不是新的......
还有其他人遇到这种情况吗?我做错了吗?
答案 0 :(得分:1)
在引用编辑
时为单元格提供工作表对象for ex ... sheets()。range()。paste
或在代码(操作工作表)之前激活您要操作的工作表
答案 1 :(得分:0)
找到解决方案!!!
经过进一步调查,似乎仅在Office 2013中被破坏。我在Office 2010上试过它并且运行正常。
解决方案是在vbModeless
之后调用Userform.show
命令,这样就可以:
Userform1.Show vbModeless
不完美,如果您希望用户在返回工作表之前解除Userform,但是嘿 - 这是一种解决方法:)
让我们希望Office 2016能解决这个问题(我将在本月晚些时候进行升级)