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

Forumthread: Klick`s zählen

Klick`s zählen
05.01.2017 09:01:01
Fred
Hallo Excel-Gemeinde,
mit
Sheets("Liste3").Range("M1") = Sheets("Liste3").Range("M1") + 1
zähle ich die Klicks meiner Schaltfläche im aktiven Blatt.
Geht es eigentlich kürzer?
Gruß
Fred
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Klick`s zählen
05.01.2017 10:01:11
Michael
Hallo!
Geht es eigentlich kürzer?
Ja, die Frage ist aber, was Dir das bringt.
Private Sub CommandButton21_Click()
[M1] = [M1] + 1
End Sub
Wenn das über eine Schaltfläche ausgelöst wird, ist das Blatt der Schaltfläche sowieso das aktive Blatt. D.h. dann könntest Du Dir die direkte Referenzierung über Sheets sparen, und per [] die Zelle direkt ansprechen (entspricht Evaluate-Funktion); []-Konstruktion ist aber nicht empfehlenswert bei vielen Zellen, die Du so ansprechen willst. In dem speziellen Fall wär's möglich... aber wozu?
LG
Michael
Anzeige
AW: Klick`s zählen
05.01.2017 10:32:19
Fred
Hallo Michael,
Danke für den Code und die Erklärung zur Referenzierung.
Die Klicks sollen gezählt werden, weil ich gewisse Einschätzungen (die sich nur schlecht „automatisieren“ lassen) aus mehreren Filterungen und Sortierungen feststellen möchte. Es sind 10 Zellen, die ich auf diese Weise ansprechen will.
Das Tabellenblatt wird 20x kopiert und da fängt man langsam an mit gewisser Code-Optimierung :-)
Zudem erspart mir deine Referenzierung eine Menge Korrekturen (zuvor: direkte Referenzierung über Sheets) in den kopierten Blättern.
Danke für deine Aufmerksamkeit
Gruß
Fred
Anzeige
AW: Klick`s zählen
05.01.2017 10:36:57
Michael
Hallo!
Mit Deiner Erläuterung kann ich zwar nichts anfangen, und daher auch nicht über evtl. sinnvollere Optimierungen mutmaßen.
Aber es freut mich, wenn ich helfen konnte ;-)
LG
Michael
;
Anzeige
Anzeige

Infobox / Tutorial

Klicks zählen in Excel: Schritt-für-Schritt-Anleitung


Schritt-für-Schritt-Anleitung

Um die Mausklicks zu zählen und die Klicks auf eine Schaltfläche in Excel zu registrieren, kannst Du den folgenden VBA-Code verwenden. Dieser Code zählt die Klicks und verbessert die Effizienz, besonders wenn Du mehrere Schaltflächen auf verschiedenen Blättern hast.

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

  2. Füge ein neues Modul hinzu, indem Du mit der rechten Maustaste auf „VBAProject (deinDokument)“ klickst und „Einfügen“ > „Modul“ wählst.

  3. Kopiere den folgenden Code in das Modul:

    Private Sub CommandButton21_Click()
       [M1] = [M1] + 1
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Deinem Excel-Dokument.

  5. Füge eine Schaltfläche hinzu (über „Entwicklertools“ > „Einfügen“ > „Schaltfläche (Formen)“).

  6. Weise der Schaltfläche das Makro CommandButton21_Click zu.

Jetzt werden die Klicks gezählt, wenn Du auf die Schaltfläche drückst.


Häufige Fehler und Lösungen

  • Fehler: Die Schaltfläche zählt keine Klicks.

    • Lösung: Stelle sicher, dass das Makro korrekt zugewiesen ist und dass die Schaltfläche im richtigen Blatt platziert ist.
  • Fehler: Der Wert in Zelle M1 wird nicht aktualisiert.

    • Lösung: Überprüfe, ob Du den Code im richtigen Modul eingefügt hast und dass Du die richtige Zelle (M1) ansprechen möchtest.

Alternative Methoden

Eine alternative Methode ist die Verwendung von Worksheet-Events anstelle von Schaltflächen. Du kannst das folgende Beispiel nutzen:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        [M1] = [M1] + 1
    End If
End Sub

Dieser Code zählt die Klicks, wenn Du auf Zelle A1 klickst, was eine andere Möglichkeit darstellt, die Mausklicks zu zählen.


Praktische Beispiele

Angenommen, Du hast mehrere Schaltflächen auf unterschiedlichen Blättern und möchtest die Klicks auf jeder Schaltfläche zählen. Du kannst den gleichen Code verwenden, aber den Bezug zur Zelle entsprechend anpassen:

Private Sub CommandButton1_Click()
    Sheets("Blatt1").Range("M1") = Sheets("Blatt1").Range("M1") + 1
End Sub

Private Sub CommandButton2_Click()
    Sheets("Blatt2").Range("M1") = Sheets("Blatt2").Range("M1") + 1
End Sub

Hierbei wird für jede Schaltfläche eine separate Zelle verwendet, um die Klicks zu zählen.


Tipps für Profis

  • Verwende die Application.OnTime-Methode für zeitgesteuerte Aktionen, wenn Du die Mausklicks in einem bestimmten Intervall zählen möchtest.
  • Stelle sicher, dass der Code in einem benutzerdefinierten Modul gespeichert wird, um ihn wiederverwenden zu können.
  • Optimiere Deine Referenzen, um die Leistung zu verbessern, besonders bei vielen Blättern.

FAQ: Häufige Fragen

1. Frage
Wie kann ich die Klicks auf mehreren Zellen zählen?
Antwort: Du kannst den gleichen Code verwenden, aber musst die Zellen entsprechend anpassen. Zum Beispiel kannst Du die Zellen M1, M2 usw. für verschiedene Klicks nutzen.

2. Frage
Kann ich die Klicks in einer anderen Zelle als M1 speichern?
Antwort: Ja, ändere einfach die Zellreferenz im Code, z.B. Range("A1") anstelle von Range("M1").

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