VBA代码无法正常工作

时间:2015-03-30 12:19:54

标签: excel vba

我有以下代码无效。

Private Sub PrintNew_Click()
If Sheets("New").Range("email").Value = 0 Then MsgBox "Email Address Needs    to be Completed", vbInformation
If response = vbCancel Then Exit Sub
If MsgBox("Do you really want to print?", vbOKCancel) = vbOK Then      Sheets("New").PrintOut copies:=1, Collate:=True
Sheets("Disclosure").PrintOut copies:=1, Collate:=True
    If reponse = vbCancel Then Exit Sub
End Sub

除了我点击取消选项进行打印之外,它还可以打印。

请告知需要修改的内容。

先谢谢你的帮助。 约翰戴维斯

1 个答案:

答案 0 :(得分:3)

您的response拼写错误。在任何情况下,我都会在打印之前放置 之类的内容,因为它更加惯用并且需要少一个条件语句,因为您可以在之后打印出来。 。 :

If MsgBox("Do you really want to print?", vbYesNo) <> vbYes Then Exit Sub

另外,正如评论中Bathsheba所述,您应该考虑使用Option Explicit来防止像您这样的语法错误。启用Option Explicit后,必须使用Dim / ReDim语句将所有变量声明为显式。结果,尝试使用未声明的变量就像在此处一样,将产生编译时错误并明确指示代码中的错误。