Anzeige
Archiv - Navigation
1204to1208
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Verlosung

Verlosung
Werner
Hallo zusammen,
wir möchten eine Verlosung durchführen. Dieses Makro zählt die Zahlen von 0 bis unendlich hoch. Es sollen aber nur die Zahlen hoch gezählt werden die in der Spalte D stehen. Die Spalte D ist dynamisch, so dass mal mehr oder weniger Zahlen drin stehen. Der Durchlauf, soll sich so lange wiederholen bis die Stop Schaltfläche betätigt wird.
Wie muss das Makro lauten um das zu realisieren?
Private Sub cmdStart_Click()
zahl = 0
'Hier merkt man sich den Zustand ob Stop gedrückt wurde
Sheets("Test").Range("C9") = False
'Schleifenvaariable auf False setzen damit Schleife läuft
'Schleife Starten
While Sheets("Test").Range("C9") = False
DoEvents 'Events einschalten damit während des Schleifenlaufs der Stopbotton Event
'erkannt wird
zahl = zahl + 1 'Zähler für Zahl
TextBox1 = zahl
Wend
End Sub

Die Datei https://www.herber.de/bbs/user/74064.xls wurde aus Datenschutzgründen gelöscht

Gruß Werner

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Verlosung
23.03.2011 08:53:56
Hajo_Zi
Hallo Werner,
Deine Datei kann ich nicht runterladen, Darum ungetestet.
Option Explicit
Private Sub cmdStart_Click()
Dim Loletzte As Long
Dim LoI As Long
Loletzte = IIf(IsEmpty(Cells(Rows.Count, 4)), Cells(Rows.Count, 4).End(xlUp).Row, Rows. _
Count)
For LoI = 1 To Loletzte
If Sheets("Test").Range("C9") = False Then Exit For
Textbox1 = Cells(LoI, 4)
If LoI = Loletzte Then LoI = 1
Next LoI
''Hier merkt man sich den Zustand ob Stop gedrückt wurde
'Sheets("Test").Range("C9") = False
''Schleifenvaariable auf False setzen damit Schleife läuft
''Schleife Starten
'While Sheets("Test").Range("C9") = False
'   DoEvents 'Events einschalten damit während des Schleifenlaufs der Stopbotton Event
'   'erkannt wird
'   zahl = zahl + 1 'Zähler für Zahl
'   Textbox1 = zahl
'Wend
End Sub

Anzeige
AW: Verlosung
23.03.2011 09:24:25
Werner
Hallo Hayo,
wenn ich mit F8 über einzelschritt gehe, wird das Makro ausgeführt. gehe ich aber über die Schaltfläche der Userform mit den Schaltern Start und Stop geht nichts, und wenn ich dann die Userform am Kreutz schließe, kommt keine rückmeldung und Excel wird geschlossen.
Die Zeile: If LoI = Loletzte Then LoI = 1 muste ich auf LoI = 0 setzen, weil sonst nach der letzten Zahl mit der 2 angefangen wird.
Gruß Werner
AW: Verlosung
23.03.2011 12:52:40
hary
Hallo Werner
Teste mal. Die Zelle mit "wahr" hab ich rausgenommen und stattdessen eine Boolean Variable gesetzt.
https://www.herber.de/bbs/user/74069.xls
gruss hary
Anzeige
AW: Verlosung
23.03.2011 12:58:24
Werner
Hallo Hary,
da bekomme ich in dieser Zeile:
TextBox1 = Cells(zahl, 4).Value 'Zähler für Zahl
die Meldung
Die Methode Cells für das Objekt _Global ist felgeschlagen
Gruß Werner
AW: Verlosung
23.03.2011 13:41:06
hary
Hallo Werner
test mal so.

TextBox1 = Sheets("Test").Cells(zahl, 4).Value

Bei mir(hab hier nur 2007) funzt es.
gruss hary
AW: Verlosung
23.03.2011 13:51:06
Werner
Hallo Hary,
es klappt danke für Deine Hilfe
Gruß Werner
AW: Verlosung
23.03.2011 13:53:17
hary
Hallo Werner
Bitte und danke fuer die Rueckmeldung.
gruss hary

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige