Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema OptionButton
BildScreenshot zu OptionButton OptionButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ScrollBar
BildScreenshot zu ScrollBar ScrollBar-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema SpinButton
BildScreenshot zu SpinButton SpinButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

VBA Click Zähler für bestimmten Button

Betrifft: VBA Click Zähler für bestimmten Button von: Dieter(Drummer)
Geschrieben am: 12.10.2020 17:00:54

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

Betrifft: AW: VBA Click Zähler für bestimmten Button
von: Daniel
Geschrieben am: 12.10.2020 17:13:21

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

Betrifft: AW: VBA Click Zähler für bestimmten Button
von: Dieter(Drummer)
Geschrieben am: 12.10.2020 17:34:52

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)

Betrifft: AW: VBA Click Zähler für bestimmten Button
von: Daniel
Geschrieben am: 12.10.2020 17:43:53

so wie du es mit cnt auch gemacht hast.
nur halt für jedes Label eine eigene Variable.
ist nicht so schwer.

Betrifft: AW: VBA Click Zähler für bestimmten Button
von: Dieter(Drummer)
Geschrieben am: 12.10.2020 18:04:05

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.

Betrifft: AW: VBA Click Zähler für bestimmten Button
von: Daniel
Geschrieben am: 12.10.2020 18:34:40

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

Betrifft: AW: VBA Click Zähler für bestimmten Button
von: Dieter(Drummer)
Geschrieben am: 12.10.2020 18:46:04

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.