Code mit Schleife kürzen
03.03.2015 09:00:22
Sascha
Ich brauche nochmals Eure Hilfe.
Excel hat mit meinem Code ziemlich lange um zu berechnen.
Ich glaube dass es daran liegt, dass mein Code so lange ist.
Wahrscheinlich müsste ich diesen Code mit einer Schleife(?) kürzen.
Leider habe ich keine Ahnung wie man das macht.
Kann mir jemand helfen?
Hier mein Code:
Sub Vanessa_Teilnehmerzählen() 'in Kostenkontrolle ab Zelle N10 eintragen
Dim Anzahl As Long
Dim zelle As Range
Anzahl = 0
For Each zelle In Sheets("Abonnemente").Range("C16:M500")
If zelle.Interior.Color = Sheets("Abonnemente").Range("J3").Interior.Color Then
If Year(zelle) = Sheets("Kostenkontrolle").Range("C2") And Month(zelle) = 1 Then
Anzahl = Anzahl + 1
End If
End If
Next zelle
Sheets("Kostenkontrolle").Range("N10").Value = Anzahl
Anzahl = 0
For Each zelle In Sheets("Abonnemente").Range("C16:M500")
If zelle.Interior.Color = Sheets("Abonnemente").Range("J3").Interior.Color Then
If Year(zelle) = Sheets("Kostenkontrolle").Range("C2") And Month(zelle) = 2 Then
Anzahl = Anzahl + 1
End If
End If
Next zelle
Sheets("Kostenkontrolle").Range("O10").Value = Anzahl
Anzahl = 0
For Each zelle In Sheets("Abonnemente").Range("C16:M500")
If zelle.Interior.Color = Sheets("Abonnemente").Range("J3").Interior.Color Then
If Year(zelle) = Sheets("Kostenkontrolle").Range("C2") And Month(zelle) = 3 Then
Anzahl = Anzahl + 1
End If
End If
Next zelle
Sheets("Kostenkontrolle").Range("P10").Value = Anzahl
Anzahl = 0
For Each zelle In Sheets("Abonnemente").Range("C16:M500")
If zelle.Interior.Color = Sheets("Abonnemente").Range("J3").Interior.Color Then
If Year(zelle) = Sheets("Kostenkontrolle").Range("C2") And Month(zelle) = 4 Then
Anzahl = Anzahl + 1
End If
End If
Next zelle
Sheets("Kostenkontrolle").Range("Q10").Value = Anzahl
Anzahl = 0
For Each zelle In Sheets("Abonnemente").Range("C16:M500")
If zelle.Interior.Color = Sheets("Abonnemente").Range("J3").Interior.Color Then
If Year(zelle) = Sheets("Kostenkontrolle").Range("C2") And Month(zelle) = 5 Then
Anzahl = Anzahl + 1
End If
End If
Next zelle
Sheets("Kostenkontrolle").Range("R10").Value = Anzahl
Anzahl = 0
For Each zelle In Sheets("Abonnemente").Range("C16:M500")
If zelle.Interior.Color = Sheets("Abonnemente").Range("J3").Interior.Color Then
If Year(zelle) = Sheets("Kostenkontrolle").Range("C2") And Month(zelle) = 6 Then
Anzahl = Anzahl + 1
End If
End If
Next zelle
Sheets("Kostenkontrolle").Range("S10").Value = Anzahl
Anzahl = 0
For Each zelle In Sheets("Abonnemente").Range("C16:M500")
If zelle.Interior.Color = Sheets("Abonnemente").Range("J3").Interior.Color Then
If Year(zelle) = Sheets("Kostenkontrolle").Range("C2") And Month(zelle) = 7 Then
Anzahl = Anzahl + 1
End If
End If
Next zelle
Sheets("Kostenkontrolle").Range("T10").Value = Anzahl
Anzahl = 0
For Each zelle In Sheets("Abonnemente").Range("C16:M500")
If zelle.Interior.Color = Sheets("Abonnemente").Range("J3").Interior.Color Then
If Year(zelle) = Sheets("Kostenkontrolle").Range("C2") And Month(zelle) = 8 Then
Anzahl = Anzahl + 1
End If
End If
Next zelle
Sheets("Kostenkontrolle").Range("U10").Value = Anzahl
Anzahl = 0
For Each zelle In Sheets("Abonnemente").Range("C16:M500")
If zelle.Interior.Color = Sheets("Abonnemente").Range("J3").Interior.Color Then
If Year(zelle) = Sheets("Kostenkontrolle").Range("C2") And Month(zelle) = 9 Then
Anzahl = Anzahl + 1
End If
End If
Next zelle
Sheets("Kostenkontrolle").Range("V10").Value = Anzahl
Anzahl = 0
For Each zelle In Sheets("Abonnemente").Range("C16:M500")
If zelle.Interior.Color = Sheets("Abonnemente").Range("J3").Interior.Color Then
If Year(zelle) = Sheets("Kostenkontrolle").Range("C2") And Month(zelle) = 10 Then
Anzahl = Anzahl + 1
End If
End If
Next zelle
Sheets("Kostenkontrolle").Range("W10").Value = Anzahl
Anzahl = 0
For Each zelle In Sheets("Abonnemente").Range("C16:M500")
If zelle.Interior.Color = Sheets("Abonnemente").Range("J3").Interior.Color Then
If Year(zelle) = Sheets("Kostenkontrolle").Range("C2") And Month(zelle) = 11 Then
Anzahl = Anzahl + 1
End If
End If
Next zelle
Sheets("Kostenkontrolle").Range("X10").Value = Anzahl
Anzahl = 0
For Each zelle In Sheets("Abonnemente").Range("C16:M500")
If zelle.Interior.Color = Sheets("Abonnemente").Range("J3").Interior.Color Then
If Year(zelle) = Sheets("Kostenkontrolle").Range("C2") And Month(zelle) = 12 Then
Anzahl = Anzahl + 1
End If
End If
Next zelle
Sheets("Kostenkontrolle").Range("Y10").Value = Anzahl
End Sub
Liebe Grüsse
Sascha