如何在vba中使用if条件

时间:2018-10-15 08:03:21

标签: excel vba excel-vba if-statement

我想在If()语句中使用If()。是否可以不将Else()放在前面。

我的代码:

For i = 3 To 24
  If i < 25 Then
    sourcef = Sheets("Macro Control").Range("B" & i)
    fname = "Z:\ISC-Product Costing\Manufacturing Controlling\03_BUDGETS\2019\Chocolate\OP'19\Reporting\Plant Submission\OP'19 Deck " & sourcef & ".xlsx"
    Workbooks.Open fname, UpdateLinks:=0
    Set wC3 = ActiveWorkbook
    Set wC1 = wC3.Sheets("Conversion P&L")
    Set wC2 = ThisWorkbook.Sheets(sourcef)
    Sheets("Conversion P&L").Select
    ThisWorkbook.Activate
    Sheets(sourcef).Select
    Call CompareColumns
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "EUR"
    Range("B2").Select
    ("some more Code")

    wC3.Activate
    ActiveWindow.Close savechanges:=False
  Else
  End If
Next i

(some more code)
End Sub

我想在If之后再添加一个Call CompareColumns。怎么做?

Call CompareColumns是另一个宏,其中“ same”的值将定义为True或False。我想添加If Same = True then“代码继续” Else转到wc3. Activate

2 个答案:

答案 0 :(得分:1)

您可以根据需要使用尽可能多的“ If”。而且您也不需要使用else情况。

If .... Then

   If .... Then
   ....
   Else
   ....
   End If

End If

在您的情况下:

If i < 25 Then
   Code...
 If i < 25 Then
   Call CompareColumns
   Rest of code....
 Else 
  wc3.Activate
  Rest of code....
 End If
End If

答案 1 :(得分:0)

如果需要更多,可以使用选择大小写: 即

Select Case yourInput
    Case Is <= 25
        'your code
    Case Is >= 70
        'your code
    Case Else
        'your code
End Select