我从用户窗体上的按钮调用一个名为SelectSheet1的宏来选择Sheet1。
之后输入数据时,会将其放在上一张纸上。
这在Excel 2013上发生。我确认它在Excel 2007中不是问题。
如果直接从开发人员选项卡,键盘快捷键,快速访问工具栏或功能区自定义运行宏,也不会出现问题。
userform命令按钮代码:
Private Sub CommandButton1_Click()
Call SelectSheet1
Unload UserForm1
End Sub
SelectSheet1宏选择工作表:
Sub SelectSheet1()
Sheets("Sheet1").Activate
End Sub
Link to youtube video if you want to see with your own eyes
这是一个奇怪的错误,想知道Excel 2013是否存在问题,他们做事情的方式发生了变化,可能还有解决方法。
答案 0 :(得分:0)
在激活表单之前,请确保只有一页选择:
Sub SelectSheet1()
Sheets("Sheet1").Select
Sheets("Sheet1").Activate
End Sub
请记住:"虽然只有一张工作表可能处于活动状态,但可能会选择多个工作表。"
答案 1 :(得分:0)
我能够弄清楚如何让它发挥作用,但不确定为什么这会解决问题。
我在调用宏之前卸载了Userform,我尝试使用select而不是Activate,这些没有帮助。但在我切换以便UserForm加载vbModeless之后我的问题就消失了,不知道为什么会修复它。
对我来说,解决这个问题的关键是vbModeless,但是如果有更多了解的人可以解释原因,那就更愿意了。
Private Sub CommandButton1_Click()
Unload UserForm1
Call SelectSheet1
End Sub
Sub ShowMainMenu()
UserForm1.Show vbModeless
End Sub
Sub SelectSheet1()
Sheets("Sheet1").Select
End Sub