如果 - 不能添加更多"然后""?

时间:2018-04-16 19:27:23

标签: vba excel-vba excel

在下面的代码中,只有"然后"之后的第一行。作品 - 如何添加更多"然后"?

Sub Opgave2()
Dim tidligst As Date
tidligst = WorksheetFunction.Min(Worksheets("Base").Range("d2:d18288"))
For i = 2 To 18288
    If Worksheets("Base").Cells(i, 4) = tidligst Then Worksheets("Tidligst Indskrevne").Cells(i, 2) = tidligst
    Worksheets("Tidligst Indskrevne").Cells(i, 3) = Worksheets("Base").Cells(i, 12)
End If


Next i
End Sub

3 个答案:

答案 0 :(得分:1)

如果您需要在一个If...Then语句中进行多项操作,请将多个语句添加到单个Then块中。从Using If...Then...Else Statements

开始,请参阅此示例
Sub AlertUser(value as Long) 
 If value = 0 Then 
 AlertLabel.ForeColor = "Red" 
 AlertLabel.Font.Bold = True 
 AlertLabel.Font.Italic = True 
 End If 
End Sub

请注意ThenEnd If关键字之间的三行代码。所有三个都将在value = 0时执行。

答案 1 :(得分:1)

<强> A) ------如果那么如果一条线上的所有线都被视为终止

所以

If Worksheets("Base").Cells(i, 4) = tidligst Then Worksheets("Tidligst Indskrevne").Cells(i, 2) = tidligst  

原样完整。如果你的陈述如下,那么你将得到一个结束如果没有阻止如果IF被认为已被终止

If Worksheets("Base").Cells(i, 4) = tidligst Then Worksheets("Tidligst Indskrevne").Cells(i, 2) = tidligst
        Worksheets("Tidligst Indskrevne").Cells(i, 3) = Worksheets("Base").Cells(i, 12)
End If

<强> B) ------在IF中做多件事

1)使用If, ElseIf, Else,End If构造来测试多个条件,并根据满足的条件做不同的事情

2)在Then之后拆分你的行在一个IF条件下做多件事

If Worksheets("Base").Cells(i, 4) = tidligst Then 
        Worksheets("Tidligst Indskrevne").Cells(i, 2) = tidligst
        Worksheets("Tidligst Indskrevne").Cells(i, 3) = Worksheets("Base").Cells(i, 12)
End If

<强> C) ------关于你的其他问题:

IsEven是一个工作表函数,在VBA中,您将其称为范围的外部包装器。此外,您使用AND运算符not&amp;串联以结合条件。

ElseIf Worksheets("Base").Cells(i, 4) = tidligst And Application.WorksheetFunction.IsEven(Worksheets("Base").Cells(i, 5)) Then Worksheets("Tidligst Indskrevne").Cells(i, 5) = "XXX"

答案 2 :(得分:0)

它不会在一行上,你需要几行。

winner