28. März 2024, 20:55
VB-fun.de - Beitragsübersicht zum VB-/VBA-Forum-Archiv 0413
  E02: Wie kann man eine Schleife mittels Schlatfläche stoppen
 Von  Anja
 Am  11. Oktober 2008 um 15:21:31
 Frage Hi,

ich habe eine Userform angelegt. Darin habe ich eine Textbox und eine Schaltfläche palziert.

Wenn ich das Programm aufrufe, sollen in der Textbox solange die Werte aus Spalte A eingetragen werden, bis ich mittels einer Schlatfläche diesen Vorgang stoppe. Die Werte werden über eine Schleife in die Textbox geschrieben. Und genau das ist mein Problem. Ich weiß nicht, wie ich die Schaltfläche dazu bringe die Schleife zu stoppen, da doch der Code in der Schleife hängt und somit das Programm niemals zu dem Punkt "CommandButton1_Click" kommt.

Kann mir bitte jemand sagen, wie ich die Schleife mittels der Schaltfläche zum stoppen bringen kann?

Vielen lieben Dank!
Anja
Private Sub userform_Activate()
'Wiederholende Anzeige der Werte aus Spalte 1 von Zeile 1 bis 10
'bis die Schaltfläche "CommandButton1" gedrückt wird.
'Frage: Wie kann ich die Schleife unterbrechen, wenn dies mittels Schaltfläche erfolgen soll?

aktuelle_Zeile = 1
Schleifen_Stop = 0

While (Schleifen_Stop = 0)
'Anzeige eines Wertes aus einem Tabellenblatt
TextBox1.Value = Cells(aktuelle_Zeile, 1)

'Wait - 1 Sekunden
Application.Wait (Now + TimeValue("00:00:01"))

'nach der 10. Zeile soll wieder bei Zeile 1 begonnen werden
If aktuelle_Zeile < 10 Then
aktuelle_Zeile = aktuelle_Zeile + 1
Else
aktuelle_Zeile = 1
End If

'************************
' 'mein Lösungsansatz war
' If CommandButton1 = ????? Then
' Schleifen_Stop = 1
' End If
'************************

Wend
End Sub
 Antwort:
 Von r.mueller@sz-online.de
 eMail
 Am 11. Oktober 2008 um 15:42:55
 Antwort Hallo

so:
Option Explicit
Dim lngSchleifenStop As Long
Private Sub CommandButton1_Click()
lngSchleifenStop = 1
End Sub

Private Sub Userform_Activate()
Dim lngAktuelleZeile As Long
'Wiederholende Anzeige der Werte aus Spalte 1 von Zeile 1 bis 10
'bis die Schaltfläche "CommandButton1" gedrückt wird.
'Frage: Wie kann ich die Schleife unterbrechen, wenn dies mittels Schaltfläche erfolgen soll?

lngAktuelleZeile = 1
lngSchleifenStop = 0

While (lngSchleifenStop = 0)
'Anzeige eines Wertes aus einem Tabellenblatt
TextBox1.Value = Cells(lngAktuelleZeile, 1)
DoEvents
'Wait - 1 Sekunden
Application.Wait (Now + TimeValue("00:00:01"))
DoEvents
'nach der 10. Zeile soll wieder bei Zeile 1 begonnen werden
If lngAktuelleZeile < 10 Then
lngAktuelleZeile = lngAktuelleZeile + 1
Else
lngAktuelleZeile = 1
End If
Wend
End Sub
Gruß
[ VB-/VBA-Forum | Archiv 0413 | Archiv-Übersicht ]
 Antworten
E02: Wie kann man eine Schleife mittels Schlatfläche stoppen - Anja 11. Oktober 2008 um 15:21:31
Re: Wie kann man eine Schleife mittels Schlatfläche stoppen - r.mueller@sz-online.de 11. Oktober 2008 um 15:42:55
Re: Wie kann man eine Schleife mittels Schlatfläche stoppen - Anja 11. Oktober 2008 um 18:28:45

Zum Seitenanfang

Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB-/VBA-Forum | DirectX | DirectX-Forum | VB.Net | VB.Net-Forum | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum