【发布时间】:2021-04-07 19:01:30
【问题描述】:
我正在编写一个程序来从电子表格中获取有关产品的数据,收集他们的信息,并计算是否需要订购更多产品。我一直试图让 Select Case 语句正常工作,无论我如何编码,我都会遇到同样的错误。我已经在 while 循环、for 循环和自身中完成了它。错误仍然存在“End Select without Select Case”,如您所见,这是不正确的。
Sub Ordering()
Dim VendorName, Product As String
Dim Counter, ProductOffset, OnHand, OnHandOffset, OnOrder, OnOrderOffset, Commited, CommitedOffset As Integer
ProductOffset = 14 'columns out from A
OnHandOffset = 19
OnOrderOffset = 20
CommitedOffset = 21
Counter = 0
'start active cell in top left
Range("A1").Select
'grab product code
Product = ActiveCell.Offset(0, ProductOffset).Value
OnHand = ActiveCell.Offset(0, OnHandOffset).Value
OnOrder = ActiveCell.Offset(0, OnOrderOffset).Value
Commited = ActiveCell.Offset(0, CommitedOffset).Value
Select Case Product
Case "100HB"
If (OnHand + OnOrder - Commited) <= 1000 Then
MsgBox ("Found 100HB")
End Select
End Sub
【问题讨论】:
-
在
MsgBox ("Found 100HB")之后缺少结束End If,顺便说一句,它不应该有任何括号。 -
或者您也可以在
Then之后添加下划线,这可能会删除End IF的需求,即<= 1000 Then _ -
@Bilal 虽然合法,但对未来的维护者(即未来的你)来说是一件非常可怕的事情。