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

Forumthread: Zähler einbauen

Zähler einbauen
Rudolf
Moin,
beim googeln habe ich nichts gefunden:
Kann man in einer Excel-Zelle einen Zähler "einbauen", dessen Wert sich dann um 1 erhöht, wenn in dem Arbeitsblatt in irgendeiner anderen Zelle eine neue Eingabe gemacht wurde (... also fortlaufendes Zählen der "Aktivitäten" in der betreffenden Zelle?
Gruß
Rudolf
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zähler einbauen
03.02.2012 12:46:33
Frank

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim IntA1 As Integer
IntA1 = Range("A1").Value
IntA1 = IntA1 + 1
Range("A1").Value = IntA1
End Sub

AW: Zähler einbauen
03.02.2012 12:51:46
Frank
Halt, Kommando zurück. Das zählt schon hoch, sobald man eine Zelle auswählt.
_Change statt _SelectionChange owT
03.02.2012 13:05:42
Rudi
Anzeige
AW: _Change statt _SelectionChange owT
03.02.2012 13:11:34
Frank
@Rudi:
Habe ich auch probiert, bei mir stürzt Excel dann immer ab.
So geht es aber, zumindest bei mir:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vNew As Variant, vOld As Variant
Dim IntA1 As Integer
If Intersect(Target, Range("A1:Z200")) Is Nothing Then Exit Sub ' Bereich entsprechend anpassen
vNew = Target.Value
Application.EnableEvents = False
On Error GoTo Errorhandler
Application.Undo
vOld = Target.Value
Target.Value = vNew
If vNew = vOld Then
Exit Sub
Else
IntA1 = Range("A1").Value
IntA1 = IntA1 + 1
Range("A1").Value = IntA1
End If
Errorhandler:
Application.EnableEvents = True
End Sub

Anzeige
AW: _Change statt _SelectionChange owT
03.02.2012 13:28:23
Rudi
Hallo,
warum sollte Excel abstürzen?
Mal als Kurzform:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ERRH
Application.EnableEvents = False
[A1] = [A1] + 1
ERRH:
Application.EnableEvents = True
End Sub

Gruß
Rudi
;
Anzeige
Anzeige

Infobox / Tutorial

Zähler in Excel einbauen


Schritt-für-Schritt-Anleitung

Um einen Zähler in Excel einzubauen, der sich bei jeder neuen Eingabe in einem bestimmten Bereich erhöht, kannst du die folgende VBA-Methode verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Doppelklicke auf das Arbeitsblatt, in dem der Zähler funktionieren soll (z. B. "Tabelle1").

  3. Füge den folgenden Code in das Codefenster ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim IntA1 As Integer
       If Intersect(Target, Range("A1:Z200")) Is Nothing Then Exit Sub ' Bereich entsprechend anpassen
       Application.EnableEvents = False
       IntA1 = Range("A1").Value
       IntA1 = IntA1 + 1
       Range("A1").Value = IntA1
       Application.EnableEvents = True
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Teste die Funktion, indem du in einen der Zellen im Bereich A1:Z200 eine neue Eingabe machst. Der Zähler in Zelle A1 sollte sich um 1 erhöhen.


Häufige Fehler und Lösungen

  • Excel stürzt ab: Stelle sicher, dass du Application.EnableEvents = False verwendest, um zu verhindern, dass der Zähler in eine Schleife gerät.
  • Zähler erhöht sich nicht: Überprüfe, ob die Zelle A1 tatsächlich leer ist oder einen Wert hat, da der Zähler nur erhöht wird, wenn eine Eingabe in den angegebenen Bereich erfolgt.
  • Falscher Bereich: Achte darauf, den Bereich in der Intersect-Funktion entsprechend deinem Arbeitsblatt anzupassen.

Alternative Methoden

Falls du keinen VBA-Zähler verwenden möchtest, kannst du auch mit Formeln arbeiten. Dies ist jedoch weniger flexibel, da es nicht automatisch beim Ändern von Zellen funktioniert. Eine einfache Methode wäre, die Formel =ANZAHL(A1:Z200) in einer Zelle zu verwenden, um die Anzahl der Eingaben zu zählen.


Praktische Beispiele

Angenommen, du möchtest einen Zähler für die Anzahl der Eingaben in einem Projekt-Tracking-Arbeitsblatt. Du kannst den obigen VBA-Code verwenden, um in Zelle A1 die Anzahl der Änderungen in den Zellen A1:Z200 zu zählen. Jedes Mal, wenn ein neues Projekt hinzugefügt wird, erhöht sich der Zähler automatisch.


Tipps für Profis

  • Experimentiere mit verschiedenen Bereichen, indem du Range("A1:Z200") anpasst, um nur bestimmte Spalten oder Zeilen zu zählen.
  • Du kannst den Zähler auch in Kombination mit anderen VBA-Funktionen verwenden, um komplexere Aufgaben zu automatisieren.
  • Denke daran, deinen Code regelmäßig zu speichern, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich den Zähler in einer anderen Zelle als A1 platzieren?
Du kannst die Zelle einfach ändern, indem du die Range("A1")-Referenz im Code auf eine andere Zelle anpasst, z. B. Range("B1").

2. Funktioniert das auch in Excel 2019?
Ja, der VBA-Zähler funktioniert in allen modernen Excel-Versionen, einschließlich Excel 2019 und Excel 365.

3. Was passiert, wenn ich eine Zelle rückgängig mache?
Der Zähler wird nur erhöht, wenn eine Zelle tatsächlich geändert wird. Wenn du eine Änderung rückgängig machst, wird der Zähler nicht erhöht.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige