【发布时间】:2014-09-12 11:47:30
【问题描述】:
Private Sub CommandButton1_Click()
...
Set wb = Workbooks.Open(Filename:="C:\book1.xls")
If MsgBox("Please Review the Transmittal sheet, if satisfied click Yes to send, No to cancel." & vbCrLf & "Transmittal Number: " & Transm, vbYesNo) = vbNo Then
...
End Sub
问题是这样的,我试图从另一个工作簿中打开一个工作簿。第二个工作簿打开,但只到了某个点 - 屏幕是白色的,好像在等待某事完成。
我的代码移动到带有 msgbox 提示符的下一行,一旦我选择是或否并且子例程完成,第二个工作簿然后打开完全显示其数据。在子程序内调用时不能正常打开,在子程序下没有被完全执行
有什么想法吗?
总的来说,我正在尝试为以下场景找出解决方案。用户打开 Excel 工作簿,单击工作表上打开用户表单的按钮。用户在组合框中选择一些信息,并根据这些选择在 Excel 表中填写相关数据。填写完成后,用户单击按钮以根据 excel 工作簿中的信息生成报告。在发送之前,用户必须检查并确认 excel 工作簿上的数据是否正确,因此会收到一个 msgbox 提示他们执行此操作 - 如果数据正确,请单击“是”,否则请单击“否”。但是使用 msgbox 和用户表单,他们无法访问 excel 工作簿。我对此的想法是打开一个新工作簿并从当前工作簿中复制数据,允许用户以这种方式查看它。也许你有更好的方法来做到这一点。
请注意,原始代码不是我的,所以我只是在修复错误,这个特殊的错误是由于用户表单和 msgbox,用户无法专注于 excel 工作表。
吉姆
【问题讨论】:
-
我不确定我是否理解问题所在.. 你能改述一下吗?
-
我认为您的意思是“直到”,而不是“下”。
-
Doug,Sifu - 我已经编辑了问题以澄清我的意思。谢谢