Zeitliches Problem bei Inkrement

Bild

Betrifft: Zeitliches Problem bei Inkrement von: Robert
Geschrieben am: 12.04.2005 14:37:35

Hallö,

bei einem Makro ist mir etwas seltsames aufgefallen. Der Makro sollte bei einem Klick auf einen Command Button auf diesem die jeweils nächste Primzahl ausgeben, anfangend mit 1.

Das Problem ist, dass der Makro die Berechnung - je nach Klickgeschwindigkeit - teilweise nicht durchgeführt wurde. Im Debugger-Modus oder bei sehr langsamer Klickgeschwindigkeit hat es richtig funktioniert.
Hat man zu normal bis schnell geklickt, wurde die Berechnung nicht immer ausgeführt, die Beschriftung des Buttons änderte sich nicht.

Man kann das Problem vereinfachen, die Auswirkung ist die selbe:

'######################################################
Option Explicit

Dim zahl As Integer


Private Sub cmd_1_Click()
    
    'Variable <zahl> wird um den Wert 1 inkrementiert
     zahl = zahl + 1
    'Die inkrementierte Variable <zahl> wird 
    'auf dem Command Button cmd_1 ausgegeben
     cmd_1.Caption = zahl
    
End Sub

'######################################################

Anscheinend hat man eine zeitliche Begrenzung für den Zugriff auf eine Variable über einen Command Button. Gibts eine Lösung dafür?
Bild


Betrifft: AW: Zeitliches Problem bei Inkrement von: Lars
Geschrieben am: 12.04.2005 14:46:19

Hi,
Option Explicit
Dim zahl As Integer, bb As Boolean
Private Sub cmd_1_Click()
If bb Then Exit Sub
  bb = True
  'Variable <zahl> wird um den Wert 1 inkrementiert
  zahl = zahl + 1
  'Die inkrementierte Variable <zahl> wird
  'auf dem Command Button cmd_1 ausgegeben
  cmd_1.Caption = zahl
  bb = False
End Sub
Mit freundlichen Grüßen Lars



Bild


Betrifft: AW: Zeitliches Problem bei Inkrement von: Robert
Geschrieben am: 12.04.2005 15:35:52

Hallo, danke für die schnelle Antwort.
Leider funktioniert es so auch nicht ...


Bild


Betrifft: AW: Zeitliches Problem bei Inkrement von: Lars
Geschrieben am: 12.04.2005 15:44:51

Hi,

das funktioniert natürlich nur solange die Mappe geöffnet ist. Beim nächsten
Öffnen gehts wieder bei 0 los.

mfg Lars


Bild


Betrifft: AW: Zeitliches Problem bei Inkrement von: EtoPHG
Geschrieben am: 12.04.2005 15:44:31

Hallo Robert,

Das Problem liegt in der Abwicklung, d.h. bei schneller Klickgeschwindigkeit wird der DblClick-Event angesprochen, d.h. bei jedem 2ten Klick wird der Code nicht angesprochen.

Füge noch eine zusätzliche Routine


Private Sub cmd_1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
     zahl = zahl + 1
     cmd_1_.Caption = zahl
End Sub


ein. Dann funktionierts besser.

Gruss Hansueli


Bild


Betrifft: AW: Zeitliches Problem bei Inkrement von: Robert
Geschrieben am: 12.04.2005 16:02:53

Hallo,

ich habe jetzt noch die sub


Private Sub cmd_1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Call cmd_1_Click
End Sub


eingefügt! Jetzt funktionierts! Danke für den tipp!

Gruß Robert, tschöö


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zeitliches Problem bei Inkrement"