Excel 如何在VBA中使用多个If Then语句

Excel 如何在VBA中使用多个If Then语句,excel,excel-2010,vba,Excel,Excel 2010,Vba,我需要帮助正确运行下面给定的VBA代码 我要做的是检查一组单元格的值是否为1 如果True,则会出现一个MsgBox,提示用户输入正确的值,并停止脚本进一步运行 如果False,则脚本移动到If-then语句的下一行 如果所有语句都为False,则脚本最终将保存活动工作表并移动到工作簿中的下一个工作表 问题 当语句为True时,我的脚本不会停止。我尝试在每个If&Then语句后使用Exit-Sub和End-If,但代码没有按预期工作 我对任何形式的编码都是新手,下面的代码是我能想到的最好的。如果

我需要帮助正确运行下面给定的VBA代码

我要做的是检查一组单元格的值是否为1

如果True,则会出现一个MsgBox,提示用户输入正确的值,并停止脚本进一步运行

如果False,则脚本移动到If-then语句的下一行

如果所有语句都为False,则脚本最终将保存活动工作表并移动到工作簿中的下一个工作表

问题

当语句为True时,我的脚本不会停止。我尝试在每个If&Then语句后使用Exit-Sub和End-If,但代码没有按预期工作

我对任何形式的编码都是新手,下面的代码是我能想到的最好的。如果有任何优化的方法可以做到这一点,那么我可以理解它并实现相同的功能

Sub BasicInfo()

If Range("C5").Value = "" Then MsgBox ("Please enter a Name!")
If Range("C6").Value = "" Then MsgBox ("Please enter your Designation!")
If Range("C8").Value = 1 Then MsgBox ("Please enter your Gender!")
If Range("C9").Value = 1 Then MsgBox ("Please enter Years of Experience!")
If Range("C10").Value = 1 Then MsgBox ("Please enter Years of Experience in present Job!")
If Range("C11").Value = 1 Then MsgBox ("Please enter your Date of Birth!")
If Range("D11").Value = 1 Then MsgBox ("Please enter your Month of Birth!")
If Range("E11").Value = 1 Then MsgBox ("Please enter your Year of Birth!")
If Range("C12").Value = 1 Then MsgBox ("Please enter marital Status!")
If Range("C13").Value = 1 Then MsgBox ("Please enter your Enducation!")
If Range("C14").Value = 1 Then MsgBox ("Please enter your Nationality!")

ActiveWorkbook.Save
Worksheets(ActiveSheet.Index + 1).Select

End Sub

每个If语句都是自包含的,因此将对每个语句进行检查。您可能需要嵌套If-Else,但是您的条件不是相互排斥的(或者是相互排斥的)?Hi SJR好吧,我最初无法成功地使用Else语句,并且我的条件是其中一个工作表独占的,在我计划使用脚本的其余两个工作表上是通用的。谢谢如果C5为空,那么是否应该不检查其他内容?如果是这种情况,您需要Else-您尝试了什么?可能是
If Range(“C5”).Value=”“,然后是MsgBox(“请输入一个名称!”):Exit Sub
等,但这仅在您运行宏时被选中。@SJR当然可以。感谢您的时间和帮助。