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

VBA Click Zähler für bestimmten Button

Forumthread: VBA Click Zähler für bestimmten Button

VBA Click Zähler für bestimmten Button
12.10.2020 17:00:54
Dieter(Drummer)
Guten Tag Spezialisten/-innen.
Wie muss der Code lauten, damit nur für diesen Button "img1" der Click Zähler zählt?
Da auf der Userform mehrere Button mit Click Zähler sind, soll auch der Zähler nur für jeden geklickten Button gezählt werden.
Mit der Bitte um Hilfe, grüßt
Dieter(Drummer)
Code Muster für 2 Buttons (img1 und img2)
Public cnt As Long
Private Sub img1_Click()
Label1 = Label1.Caption + CLng(img1.Tag) 'Plus
img1a.ZOrder msoBringToFront 'Herber: von Herbert_Grom am 02.10.2020 16:58:10
'Klick Zähler
cnt = cnt + 1
Label3.Caption = cnt
End Sub
Private Sub img2_Click()
Label1 = Label1.Caption + CLng(img2.Tag)
img2a.ZOrder msoBringToFront 'Herber: von Herbert_Grom am 02.10.2020 16:58:10
'Klick Zähler
cnt = cnt + 1
Label4.Caption = cnt
End Sub

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Click Zähler für bestimmten Button
12.10.2020 17:13:21
Daniel
Hi
in dem Fall ist cnt in jedem Makro die selbe Variable (und nicht nur die mit dem gleichen Namen)
du brauchst jetzt für jedes Label ein eingenes cnt.
dh für Label1 dann cnt1, für Label2 dann cnt2 usw.
das ist ja der Grund, warum ich dir vorgeschlagen habe, auf die Variablen zu verzichten und nur mit LabelCapitons zu arbeiten.
beim Label1 hast du das ja schon gemacht, warum nicht auch bei den anderen. Dann brauchst du kein cnt mehr.
Gruß Daniel
Anzeige
AW: VBA Click Zähler für bestimmten Button
12.10.2020 17:34:52
Dieter(Drummer)
Danke Daniel für Info.
Leider bin ich nicht so fit in VBA. Ich weiss nicht, wo bzw. wie ich in Label1 "cnt1" und in Label2 "cnt2" einbinden kann.
Wäre toll, wenn Du nochmal helfen könntest. Mein bisherige Musterdatei zu besseren Übersicht anbei:
https://www.herber.de/bbs/user/140839.xlsm
Mit Gruß,
Dieer(Drummer)
Anzeige
AW: VBA Click Zähler für bestimmten Button
12.10.2020 17:43:53
Daniel
so wie du es mit cnt auch gemacht hast.
nur halt für jedes Label eine eigene Variable.
ist nicht so schwer.
AW: VBA Click Zähler für bestimmten Button
12.10.2020 18:04:05
Dieter(Drummer)
Hallo Daniel,
für dich sicher nicht schwer, aber ich kriege das einfach nicht hin.
Hättest Du ein Musterbeispiel, z.B, für Label1 und in welchen Code kommt es dann? Unter Code "img1" oder in "Label1"?
Gruß, Dieter(Drummer)
PS Ich weiss, ich hab noch viel zu lernen.
Anzeige
AW: VBA Click Zähler für bestimmten Button
12.10.2020 18:34:40
Daniel
nee Dieter "noch viel zu lernen" ist dein Problem.
Hirn einschalten und Mitdenken ist manchmal noch viel wichiter als einfaches "lernen".
also nochmal ein Beispiel:
Option Explicit
Public cnt1 as Long
Public cnt2 as Long
Public cnt3 As Long
usw für jeden Button eine Zählervariable
'Imgages aus Userform mit Klick an aus - Herber: von Herbert_Grom am 02.10.2020 16:58:10
Private Sub img1_Click() 'MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
Label1 = Label1.Caption + CLng(img1.Tag) 'Plus
img1a.ZOrder msoBringToFront 'Herber: von Herbert_Grom am 02.10.2020 16:58:10
'Klick Zähler
cnt3 = cnt3 + 1
Label3.Caption = cnt3
End Sub
entsprechend dann mit den anderen Variablen für die anderen Buttons.
und noch ein Tip: steck nicht soviel zeit in die hübsche Optik, sondern mach das erstmal mit ganz einfachen Buttons.
Es ist besser, eine Sache sieht anfängermäßig aus und funktioniert dafür ordentlich, als wenn es professionell aussieht und dann nicht funktioniert.
Gruß Daniel
Anzeige
AW: VBA Click Zähler für bestimmten Button
12.10.2020 18:46:04
Dieter(Drummer)
Herzlichen Dank Daniel.
Diese Variante war mir klar:
cnt3 = cnt3 + 1
Label3.Caption = cnt3

Mit fehlte aber:
Public cnt1 As Long
Public cnt2 As Long
Public cnt3 As Long

usw.
Nochmals Danke und es hat mir sehr geholfen.
Noch einen angenehmen Abend.
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

VBA Click Zähler für einen bestimmten Button


Schritt-für-Schritt-Anleitung

Um einen Click Zähler in Excel für einen bestimmten Button (z.B. img1) zu erstellen, folge diesen Schritten:

  1. Öffne die Visual Basic for Applications (VBA) Umgebung in Excel, indem du ALT + F11 drückst.

  2. Füge ein neues Modul hinzu oder öffne das bestehende UserForm, auf dem sich dein Button befindet.

  3. Definiere eine Zählervariable für jeden Button. Beispiel:

    Public cnt1 As Long
    Public cnt2 As Long
  4. Schreibe den Code für die Click-Ereignisse der Buttons. Hier ein Beispiel für zwei Buttons:

    Private Sub img1_Click()
       cnt1 = cnt1 + 1
       Label1.Caption = cnt1 ' Aktualisiert die Anzeige
    End Sub
    
    Private Sub img2_Click()
       cnt2 = cnt2 + 1
       Label2.Caption = cnt2 ' Aktualisiert die Anzeige
    End Sub
  5. Teste dein UserForm, um sicherzustellen, dass der Zähler für jeden Button korrekt funktioniert.


Häufige Fehler und Lösungen

  • Problem: Der Zähler springt oder zählt nicht richtig.

    • Lösung: Stelle sicher, dass jede Zählervariable (cnt1, cnt2, etc.) separat definiert ist und dass du die richtige Variable in den Click-Ereignissen verwendest.
  • Problem: Labels zeigen nicht die korrekten Werte an.

    • Lösung: Überprüfe, ob die Labels in der UserForm korrekt benannt sind und dass du die Caption-Property richtig aktualisierst.

Alternative Methoden

Wenn du keine Zählervariablen verwenden möchtest, kannst du auch direkt die Caption der Labels anpassen:

Private Sub img1_Click()
    Label1.Caption = CLng(Label1.Caption) + 1 ' Zählt direkt hoch
End Sub

Diese Methode ist besonders nützlich, wenn du nur einen einfachen Klick Zähler benötigst und keine weiteren Variablen verwalten möchtest.


Praktische Beispiele

Hier ist ein einfaches Beispiel für einen Mausklick Zähler in einer UserForm mit zwei Buttons:

Public cnt1 As Long
Public cnt2 As Long

Private Sub img1_Click()
    cnt1 = cnt1 + 1
    Label1.Caption = "Button 1: " & cnt1
End Sub

Private Sub img2_Click()
    cnt2 = cnt2 + 1
    Label2.Caption = "Button 2: " & cnt2
End Sub

Dieses Beispiel zeigt, wie du die Zähler für jeden Button in der UserForm verwaltest und die Ergebnisse in den zugehörigen Labels anzeigst.


Tipps für Profis

  • Verwende Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft dir, Fehler zu vermeiden.
  • Halte die Benutzeroberfläche einfach, um den Fokus auf die Funktionalität zu legen. Anfängermäßige Designs funktionieren oft besser als komplexe, die nicht richtig funktionieren.
  • Wenn du mehr Buttons hinzufügst, kannst du mit Arrays arbeiten, um den Code zu optimieren und Redundanzen zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich einen Excel Zähler Button einfügen?
Du kannst einen Button über die Entwicklertools in Excel einfügen und dann das Click-Ereignis für die Zählervariablen programmieren.

2. Ist es notwendig, für jeden Button eine eigene Zählervariable zu verwenden?
Ja, wenn du die Klicks für jeden Button separat zählen möchtest, ist es notwendig, eigene Zählervariablen zu definieren. Ansonsten kannst du auch die Caption der Labels direkt aktualisieren.

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