对于每个循环需要指导

时间:2014-11-18 19:30:37

标签: excel excel-vba if-statement for-loop vba

我的想法是,我想在工作簿中评估vba中给定条件的每个Ws。如果符合标准,我希望它能够做点什么。如果没有达到,我想去下一个ws。我知道这很简单。任何帮助都会非常感激

这是我到目前为止所拥有的。

Sub dataconsol()
    Dim Ws As Worksheet
    For Each Ws In ThisWorkbook.Worksheets
        If ActiveSheet.Range("B9").Value = 1 Then
            Range("A1").Value = 2
        ElseIf Range("b9").Value <> 1 Then

        End If
    Next Ws
End Sub

1 个答案:

答案 0 :(得分:5)

你的代码很好。将ActiveSheet切换为Ws,就像你的情况一样,ActiveSheet始终是&#39; Sheet1&#39;。

Sub dataconsol()

Dim Ws As Worksheet

For Each Ws In ThisWorkbook.Worksheets
    With Ws
        If .Range("B9").Value = 1 Then
            .Range("A1").Value = 2
        ElseIf .Range("b9").Value <> 1 Then
        End If
    End With
Next Ws

End Sub

或者如果您想使用ActiveSheet:

Sub dataconsol2()

Dim Ws As Worksheet

For Each Ws In ThisWorkbook.Worksheets
    Ws.Activate
    If Range("B9").Value = 1 Then
        Range("A1").Value = 2
    ElseIf Range("b9").Value <> 1 Then
    End If
Next Ws

End Sub