Do Until Selection.Value = "" Or _
(Selection.Value = theyear And Selection.Offset(0, 1).Value = themonth)
Selection.Offset(1, 0).Select
Loop
在这一行声明中,代码无法用或部分检查条件即;它不检查括号中的条件。是预期的吗?
答案 0 :(得分:0)
试试这个:
Sub Test()
Dim sMonth As String
Dim iYear As Integer
sMonth = UCase(Trim(InputBox("Enter the first three alphabets of the month to append", "Month Initials")))
iYear = InputBox("Enter the year to which the month corresponds", "Year")
Do Until Selection.Value = "" Or _
(UCase(Trim(Selection.Value)) = sMonth And Selection.Offset(0, 1).Value = iYear)
Selection.Offset(1, 0).Select
Loop
End Sub
您的主要错误是在引号之间添加变量名称。
但是,我想要注意的是,由于您允许用户无需检查即可输入任何数据,因此此代码可能对错误非常敏感。
但如果它是供自己使用的话,这并不重要
另请注意.Select / Offset使您的代码整体非常严格。