首页 文章

从另一个文件关闭msgbox

提问于
浏览
-1

我在一个文件上工作,一个接一个地运行每个文件,只需点击一下就可以计算出来 . 不幸的是,在每个文件的计算结束时,有Msgbox "Report updated"并且我的宏停止并且等待在关闭第一个文件并打开下一个文件之前手动确认"OK" . 我不能用msgboxes删除这一行,因为有些人只使用一个文件,他们需要被告知一切都已完成 .
这是我的问题:如何自动关闭此msgbox?

提前致谢

2 回答

  • 0

    我认为这是不可能的,因为MsgBox是模态的 . 但是为什么你的宏首先显示它?您可以添加条件指令,以检查是否显示其工作的表单 . 就像是:

    If ActiveSheet.Name = wsProcessedSheet.Name Then MsgBox "Report updated"
    

    因此,该消息将显示给普通用户而不是您的超级宏 . 或者,您可以仅为您的计算机禁用MsgBox:

    If Environ("username")<> "your user name" Then MsgBox "Report updated"
    
  • 0

    谢谢你的有趣想法 . 我刚刚想出了不同的解决方案 . 本来我有按钮运行宏Update()

    Sub Update()
      ...calculations....
      Msgbox "Report updated"
    End Sub
    

    现在我从这个宏中删除了msgbox并在下面创建了两个宏:

    Sub ButtonClick()
      Call Update
      Msgbox "Report updated"
    End Sub
    
    Sub Update()
      ...calculations....
    End Sub
    

    现在按钮正在运行宏ButtonClick,在外部文件中,我可以使用不包含msgbox的宏Update() .

    但我仍然想知道是否有任何方法可以确认msgbox警报

相关问题