选择并切换到非常隐藏的工作表无法正常工作

时间:2016-10-07 07:16:25

标签: excel vba excel-vba

我最近一直在编写一些宏来浏览工作表/更改可见性/导入导出数据等。我通常只是将宏作为按钮嵌入到工作表上。 通常这很好用,但是,我确实遇到了一个问题,即使用宏或用户窗体取消隐藏一张非常隐藏的工作表,选择它并退出宏或表单。

我这样做是通过:

With Sheets("Sheet1")
    .visibile = xlsheetvisible
    .activate 
    .Range("A1").select
End With

当我尝试操纵纸张时 - 例如键入单元格,从单元格中删除数据,或使用GUI插入/删除行而不是通过代码执行,操作发生在原始工作表上,并使用调用窗体或宏的按钮。而不是新的......

还有其他人遇到这种情况吗?我做错了吗?

2 个答案:

答案 0 :(得分:1)

在引用编辑

时为单元格提供工作表对象

for ex ... sheets()。range()。paste

或在代码(操作工作表)之前激活您要操作的工作表

答案 1 :(得分:0)

找到解决方案!!!

经过进一步调查,似乎仅在Office 2013中被破坏。我在Office 2010上试过它并且运行正常。

解决方案是在vbModeless之后调用Userform.show命令,这样就可以: Userform1.Show vbModeless

不完美,如果您希望用户在返回工作表之前解除Userform,但是嘿 - 这是一种解决方法:)

让我们希望Office 2016能解决这个问题(我将在本月晚些时候进行升级)