Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zähler in VBA

Forumthread: Zähler in VBA

Zähler in VBA
24.05.2003 10:57:23
Flo
Hallo habe mir ein Lotto Tool gebalstelt, das mir sobald eine Zahl übereinstimmt, die Zelle anderst farbig markiert. Jetzt möchte ich über eine Zählerfunktion, dass er mir sobald eine Zelle die FArbe hat hoch zählt

mein versuch bisher ist folgender

For f = 1 To 6

If ActiveCell.Value = ActiveCell.Interior.ColorIndex = 14 Then
Range("G3").Value = zähler + 1
End If
ActiveCell.Offset(0, 1).Select
Next

doch leider ohne erfolg.
ich hoffe, dass mir jemand weiterhelfen kann.

Danke
Flo

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Zähler in VBA
24.05.2003 11:39:30
Jürgen

Hallo Flo,

Du kannst es auch mit einer For Each-Anweisung versuchen.

Angenommen, Deine Zahlen stehen im Bereich A2 bis A7:
(Ungetestet)
Dim Zelle as Range
For Each Zelle in ActiveSheet.Range("A2:A7")
If Zelle.Interior.ColorIndex = 14 Then
Range("G3").Value = zähler + 1
End If
Next Zelle

Versuch's mal.

Wenn Du unbedingt mit Zähler arbeiten willst (For Each ist schneller!), mußt Du den Zähler auch in Deine Routine aufnehmen:
Spalte = 1
For Zeile = 1 To 6
If Cells(Zeile,Spalte).Interior.ColorIndex = 14 Then
Range("G3").Value = zähler + 1
End If
Next Zeile

Gruß
Jürgen


Anzeige
hintergrund zaehlen
24.05.2003 13:53:22
th.heinrich

hi Flo und Jürgen,

von Hans.

Subject: Anzahl von Zellen mit einer bestimmten Hintergrundfarbe ermitteln
Problem: Wie kann ich die Anzahl der Zellen mit einer bestimmten Hintergrundfarbe ermitteln?
Lösung: Geben Sie die nachfolgende benutzerdefinierte Funktion in ein Standardmodul ein.

StandardModule: basMain

Function Farbe(rng As Range, iColor As Integer) As Integer
Dim iCounter As Integer
Dim rngAct As Range
For Each rngAct In rng
If rngAct.Interior.ColorIndex = iColor Then
iCounter = iCounter + 1
End If
Next rngAct
Farbe = iCounter
End Function


gruss thomas

Anzeige
Re: hintergrund zaehlen
25.05.2003 09:42:01
flo

hat irgendwie nicht funktioniert aber trotzdem danke

;
Anzeige

Infobox / Tutorial

Zähler in VBA für Excel verwenden


Schritt-für-Schritt-Anleitung

Um einen Zähler in VBA zu erstellen, der die Anzahl der Zellen mit einer bestimmten Hintergrundfarbe zählt, kannst du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor in Excel. (Drücke ALT + F11)

  2. Füge ein neues Modul hinzu: Rechtsklick im Projektfenster -> Einfügen -> Modul.

  3. Kopiere und füge den folgenden Code in das Modul ein:

    Function Farbe(rng As Range, iColor As Integer) As Integer
        Dim iCounter As Integer
        Dim rngAct As Range
        For Each rngAct In rng
            If rngAct.Interior.ColorIndex = iColor Then
                iCounter = iCounter + 1
            End If
        Next rngAct
        Farbe = iCounter
    End Function
  4. Schließe den VBA-Editor und kehre zu deiner Excel-Datei zurück.

  5. Verwende die benutzerdefinierte Funktion in einer Zelle, zum Beispiel: =Farbe(A2:A7, 14), um die Anzahl der Zellen mit der Hintergrundfarbe 14 zu zählen.


Häufige Fehler und Lösungen

  • Fehler: Die Funktion gibt 0 zurück.

    • Lösung: Überprüfe, ob die Zellen im angegebenen Bereich tatsächlich die Hintergrundfarbe haben, die du zählst. Stelle sicher, dass der ColorIndex korrekt ist.
  • Fehler: VBA kann die Zählung nicht durchführen.

    • Lösung: Achte darauf, dass die Zellen im richtigen Format sind und dass du die Funktion korrekt aufgerufen hast.

Alternative Methoden

Eine Alternative zur oben genannten Methode ist die Verwendung einer For Each-Schleife direkt im Code. Hier ist ein Beispiel:

Dim Zelle as Range
Dim Zähler as Integer
Zähler = 0
For Each Zelle in ActiveSheet.Range("A2:A7")
    If Zelle.Interior.ColorIndex = 14 Then
        Zähler = Zähler + 1
    End If
Next Zelle
Range("G3").Value = Zähler

Diese Methode ist effizienter und bietet eine einfache Möglichkeit, die Anzahl der Zellen mit der gewünschten Hintergrundfarbe zu zählen.


Praktische Beispiele

Angenommen, du hast eine Liste von Lottozahlen in den Zellen A2 bis A7. Du möchtest die Anzahl der Zellen zählen, die die Hintergrundfarbe 14 (z.B. rot) haben:

  1. Markiere die Zellen A2 bis A7 mit der gewünschten Hintergrundfarbe.
  2. Füge die benutzerdefinierte Funktion wie oben beschrieben in einer anderen Zelle ein.
  3. Das Ergebnis zeigt dir, wie viele Zellen die spezifische Farbe haben.

Tipps für Profis

  • Verwende Named Ranges: Statt feste Zellbereiche zu verwenden, kannst du benannte Bereiche nutzen, um deine Formeln flexibler zu gestalten.
  • Automatisiere den Zähler: Integriere den Zähler in ein Ereignis, wie das Ändern von Zellen, um automatisch zu zählen, wenn sich die Farben ändern.

FAQ: Häufige Fragen

1. Wie kann ich die Farbe ändern, die gezählt wird?
Du kannst den ColorIndex in der Funktion anpassen. Zum Beispiel: =Farbe(A2:A7, 3) zählt alle Zellen mit der Hintergrundfarbe 3.

2. Funktioniert das auch in Excel 365?
Ja, die beschriebenen Methoden funktionieren in Excel 365 sowie in anderen Versionen von Excel, die VBA unterstützen.

3. Was mache ich, wenn ich andere Farben zählen möchte?
Ändere einfach den ColorIndex in der Funktion. Hier ist eine Liste der häufigsten ColorIndex-Werte, die du verwenden kannst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige