AW: VBA mehrere Spalten durchsuchen & Werte summieren
17.09.2013 11:17:32
verslaan
@Ruedi
Besten Dank für deinen Input, habe dort einen Überlegungsfehler gemacht.
Habe meinen Code wie folgend umgeschrieben. Da ich die Summe der Values benötige habe ich das ganze Testweise ein bisschen kopiert und angepasst. Muss jetzt dann wohl alles noch einfacher schreiben so rein der Performance zuliebe (Funktion oder so).
Beim letzten Teil "Status Weiss" funktioniert das noch nicht so wie ich mir wünsche...
Denn eine Leere Menge kann ich ja nicht zusammenzählen, kann aber sicherlich die leeren Zellen zählen. Hierzu muss ich mich allerdings noch schlau machen.
For i = 5 To 80
'Status Grün
If Cells(i, 8) = REtype And Cells(i, 60).text = 1 Then
SummeWK1grün = SummeWK1grün + WorksheetFunction.Sum(Cells(i, 60).Resize(1))
End If
If Cells(i, 8) = REtype And Cells(i, 61).text = 1 Then
SummeWK2grün = SummeWK2grün + WorksheetFunction.Sum(Cells(i, 61).Resize(1))
End If
If Cells(i, 8) = REtype And Cells(i, 62).text = 1 Then
SummeWK3grün = SummeWK3grün + WorksheetFunction.Sum(Cells(i, 62).Resize(1))
End If
'Status Gelb
If Cells(i, 8) = REtype And Cells(i, 60).text = 2 Then
SummeWK1gelb = SummeWK1gelb + WorksheetFunction.Sum(Cells(i, 60).Resize(1))
End If
If Cells(i, 8) = REtype And Cells(i, 61).text = 2 Then
SummeWK2gelb = SummeWK2gelb + WorksheetFunction.Sum(Cells(i, 61).Resize(1))
End If
If Cells(i, 8) = REtype And Cells(i, 62).text = 2 Then
SummeWK3gelb = SummeWK3gelb + WorksheetFunction.Sum(Cells(i, 62).Resize(1))
End If
'Status Rot
If Cells(i, 8) = REtype And Cells(i, 60).text = 3 Then
SummeWK1rot = SummeWK1rot + WorksheetFunction.Sum(Cells(i, 60).Resize(1))
End If
If Cells(i, 8) = REtype And Cells(i, 61).text = 3 Then
SummeWK2rot = SummeWK2rot + WorksheetFunction.Sum(Cells(i, 61).Resize(1))
End If
If Cells(i, 8) = REtype And Cells(i, 62).text = 3 Then
SummeWK3rot = SummeWK3rot + WorksheetFunction.Sum(Cells(i, 62).Resize(1))
End If
'Status Weiss
If Cells(i, 8) = REtype And Cells(i, 60).text = "" Then
SummeWK1weiss = SummeWK1weiss + WorksheetFunction.Sum(Cells(i, 60).Resize(1))
End If
If Cells(i, 8) = REtype And Cells(i, 61).text = "" Then
SummeWK2weiss = SummeWK2weiss + WorksheetFunction.Sum(Cells(i, 61).Resize(1))
End If
If Cells(i, 8) = REtype And Cells(i, 62).text = "" Then
SummeWK3weiss = SummeWK3weiss + WorksheetFunction.Sum(Cells(i, 62).Resize(1))
End If
Next
@hansueli
Jap hast recht, logischweise funktioniert das in einer For Schlaufe so nicht.
Habe den Code wohl zu schnell geschrieben und ohne Kontrolle gepostet.
Habe ich mich wohl mehr auf den folgenden Kaffee als auf den Code konzentriert ;-)
Trotzdem danke für den Hinweis mit der Hilfe, kannte ich noch nicht.