0

早上好。我遇到了一段过去对我来说效果很好的代码。

Private Sub Workbook_Open()

UserForm1.Show

End Sub

存储在用户窗体中

Private Sub CommandButton1_Click()

'   Verify All Fields
Msg = "Have you entered all Fields?"
Title = "TONU"
Config = vbYesNo + vbQuestion
Ans = MsgBox(Msg, Config, Title)
    If Ans = Yes Then GoTo nextstep:
    If Ans = No Then Exit Sub

nextstep:

'   Print Option
Msg1 = "Would you like to Print a hard copy?"
Title1 = "TONU"
Config1 = vbYesNo + vbQuestion
Ans1 = MsgBox(Msg1, Config1, Title1)
    If Ans1 = Yes Then UserForm1.Print
    If Ans1 = No Then Run Report


lastRow = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row + 1

MsgBox lastRow


End Sub       

用户窗体在我的其他项目中打印得很好,但是当在新项目中使用此代码时它不会打印?!?!想法?

4

1 回答 1

1

“是”不是有效的VbMsgBoxResult. 应该是vbYesvbNo。在第一种情况下,您的代码将落入NextStep. 在第二个它将什么都不做。

为避免此类错误Option Explicit,请在模块顶部使用。然后它会抱怨 Yes 和 No 是未声明的变量。

更好的是,在工具>选项中选中“需要变量声明”,以使选项显式自动放置在每个模块的顶部。

于 2012-11-27T14:50:09.760 回答