Zählen Sie auf allen Blättern Summen in verschiedenen Bereichen


Thiil

Ich versuche 3 Summen zu machen. Genehmigt, abgelehnt und wartet

Jedes Blatt in der Arbeitsmappe enthält diese Informationen in denselben Spalten.

Was ich bisher versucht habe, ist unten, mit verschiedenen Verbesserungen, aber es scheint falsch zu zählen und ich kann nicht verstehen, wie ich es richtig mache.

    Sub test()
Dim WS As Worksheet, rng1 As Range, rng2 As Range, rng3 As Range, T1 As Integer, T2 As Integer, T3 As Integer
Dim Lastrow As Long
On Error Resume Next

Set rng1 = Range(("B1"), Range("B" & Rows.Count).End(xlUp))
Set rng2 = Range(("C1"), Range("C" & Rows.Count).End(xlUp))
Set rng3 = Range(("D1"), Range("D" & Rows.Count).End(xlUp))


T1 = 0
T2 = 0
T3 = 0

For Each WS In ActiveWorkbook.Worksheets
    With WS
        For Each cell In rng1
            If cell.Value = "1" Then T1 = T1 + 1
        Next
        For Each cell In rng2
            If Cells.Value = "1" Then T2 = T2 + 1
        Next
        For Each cell In rng3
            If Cells.Value = "1" Then T3 = T3 + 1
        Next
    End With
Next

MsgBox "Godkendte: " & T1 & "--- Afviste: " & T2 & "--- Afventer: " & T3

End Sub
CallumDA

Ihr Code kann ein wenig vereinfacht werden. Wenn Sie am Ende Variablennamen mit Zahlen schreiben, ist es wahrscheinlich besser, ein Array zu verwenden

Sub test()
    Dim ws As Worksheet
    Dim v(1 To 3) As Variant

    For Each ws In ActiveWorkbook.Worksheets
        With ws
            v(1) = v(1) + Application.WorksheetFunction.CountIf(.Range(.Range("B1"), .Range("B" & .Rows.Count).End(xlUp)), 1)
            v(2) = v(2) + Application.WorksheetFunction.CountIf(.Range(.Range("C1"), .Range("C" & .Rows.Count).End(xlUp)), 1)
            v(3) = v(3) + Application.WorksheetFunction.CountIf(.Range(.Range("D1"), .Range("D" & .Rows.Count).End(xlUp)), 1)
        End With
    Next

    MsgBox "Godkendte: " & v(1) & "--- Afviste: " & v(2) & "--- Afventer: " & v(3)
End Sub

Verwandte Artikel


Einstellbereich auf verschiedenen Blättern verursacht Fehler

Han Solo Ich bin ziemlich neu in VBA und frage mich, ob mir jemand helfen kann. Ich habe 2 verschiedene Blätter in einer Arbeitsmappe. Sheet(Raw Data)hat einen Bereich mit Kostenstelle NameS(Zelle BC3 bis leer) Ich muss Sheet(CC Template)die richtigen 5 Zeiche