【发布时间】:2017-12-15 00:34:17
【问题描述】:
我是编码新手,正在寻求帮助。我这里有一个代码给我“选择案例之外的案例”错误,但我的案例在“选择案例”和“结束选择”之内,所以我不确定我做错了什么。
Sub codematch()
Dim wbk As Workbook
Select Case response = MsgBox("Is the cursor in the first cell of the column?", vbYesNo, "Code Finder")
Case condition1
If response = 6 Then
Set wbk = Workbooks.Open("C:\test.xlsm")
Call wbk
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],'[test.xlsm]Sheet1'!C1:C2,2,0)"
Do Until ActiveCell = ""
Call wbk.Close(False)
Case condition2
If response = 7 Then
response = MsgBox("Position the Cursor in the correct location and try again", vbOKOnly)
End If
End Select
End Sub
【问题讨论】:
-
在
Case condition2之前缺少End If -
即使您修复了
If,Select Case也无法正常工作。 (好吧,它可能“有效”,但我怀疑它是否会按照您的想法进行。)变量response(0?) 将与您的MsgBox的结果进行比较。如果response与MsgBox匹配,那么如果condition1计算结果为True,它将执行第一种情况,或者如果condition1是False并且condition2是True,它将执行第二种情况。如果response与MsgBox不同,那么如果condition1计算结果为False,它将执行第一种情况,或者如果condition1是True和condition2是False,则执行第二种情况. -
你需要学习
select case语句的用法。 ...它的工作方式与您想象的不同........如果您知道它的作用,您将不会在case语句中包含if语句