Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1564to1568
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

Formular Schleife

Formular Schleife
14.06.2017 13:16:02
Toni
Guten Tag
also, ich habe diesen Code für ein Formular geschrieben.
Es haut schon gut hin, dass bei jedem Klick die Punktezahl erhöht wird, auch funktioniert es, dass wenn die Zahl 0 (Case4) erreicht wird. "Games" um 1 erhöht wird.
Ich suche nach einer Schleife die mir, wenn ich bei 0 angelangt bin, beim nächsten Klick wieder auf 20 hüpft.
Mit einer Do Loop Until Schleife hängt sich mein Excel auf, und mit einer For Next Schleife komm ich auch auf keinen grünen Zweig.
Das ist der Code:

Private Sub SpielA_Click()
a = a + 1
Select Case a
Case 1: aScore = 20
Case 2: aScore = 35
Case 3: aScore = 50
Case 4: aScore = 0
End Select
PunktA.Value = aScore
PunktB.Value = bScore
GameA.Value = 0
If aScore = 0 Then
GameA.Value = GameA.Value + 1
End If
End Sub

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formular Schleife
14.06.2017 13:27:02
yummi
Hallo Toni,
meinst Du sowas?

Private Sub SpielA_Click()
a = a + 1
Select Case a
Case 1: aScore = 20
Case 2: aScore = 35
Case 3: aScore = 50
Case 4: aScore = 0
End Select
PunktA.Value = aScore
PunktB.Value = bScore
GameA.Value = 0
If aScore = 0 Then
GameA.Value = GameA.Value + 1
aScore = 20
End If
End Sub
Gruß
yummi
AW: Formular Schleife
14.06.2017 13:35:30
Toni
vielen dank für die Antwort.
Nein eher so, dass dann das ganze Prozedere wieder von neuem beginnt.
also dass in "Games" die 1 stehen bleibt und in "Punkte" wieder von 20 beginnt und über 35,50 bis zu 0 geht und den Wert von "Games" wieder um 1 (also auf 2) erhöht.
LG
Anzeige
AW: Formular Schleife
14.06.2017 13:49:41
yummi
Hallo Toni,
das ganze sol ja per Klick funktionieren, also musst Du am Ende wieder die Anfangsbedingen herstellen, also anstatt wie fälsclicherweise von mir angegeben aScore = 20 muss dort a = 0 hin (wobei ich davon ausgehe das a eine globale Varoiable ist?
Dann wird beim nächsten Klick a auf 1 gesetzt und alles beginnt von vorn.
Gruß
yummi
AW: Formular Schleife
14.06.2017 14:01:35
Toni
super vielen vielen dank!
so einfach, aber effektiv :-)
hast du jetz noch vielleicht eine Ahnung wie ich es schaffen könnte, dass sich der "Game" Zähler um 1 erhöht, sobald 0 im PunkteZähler erreicht ist und sich beim nächsten 0 wieder um 1 erhöht?
If aScore = 0 Then
GameA.Value = GameA.Value + 1
habs jetzt so, aber so gehts mir der Gamezähler immer auf 0 zurück, sobald keine 0 mehr in der Textbox "Punkte" steht.
Also ich möchte einfach mitzählen wie viele Spiele gewonnen wurden.
Anzeige
AW: Formular Schleife
14.06.2017 14:03:55
Toni
Oh das ganze hat sich erledigt, vielen dank :-)
AW: Formular Schleife
14.06.2017 14:15:33
yummi
Hallo Toni,
nimm einfach die zeile GameA.value = 0 raus. Varialben werden bei VBA mit 0 vorinitialisert.
Wobei ich die Deklaration deiern Variablen nciht sehe, bzw. ob du sie überhaupt deklariert hast.
Wenn du in deinem Modul in der erster Zeile Option explicit schreibst, bekommst Du wahrschinlich diverse Fehlermeldungen.
Gruß
yummi
AW: Formular Schleife
14.06.2017 14:20:32
Toni
Hab das Deklarieren der Variablen jetzt nicht dazukopiert, sind aber deklariert :-)
das mit dem rausnehmen hab ich versucht, hat auch beim 1.mal geklappt, jetz bekomme ich aber immer einen Laufzeitfehler 13 (typen unverträglich) :-(
wegen dieser Zeile:
GameA.Value = GameA.Value + 1

Anzeige
AW: Formular Schleife
14.06.2017 14:30:47
Toni
äääh liegt dieser Fehler an meiner Deklarierung?
Option Explicit
Dim a As Integer
Dim b As Integer, aScore As String, bScore As String
Dim aGames As Integer, bGames As Integer
Dim aSets As Integer, bSets As Integer
bin mir schon total unsicher
AW: Formular Schleife
14.06.2017 14:43:59
yummi
Hallo Toni,
ja liegt es ;-)
aScore und bScore ist bei dir ein String, du weißt ihm im Code aber eine Zahl zu.
Strings sind in "" Zahlen ohne
GameA und GameB sind Zellen die du umbenannt hast? und wen nja wie hast du sie formatiert?
Gruß
yummi
oder schick mal die Datei, ist wahrscheinlich einfacher
Anzeige
AW: Formular Schleife
14.06.2017 15:03:38
yummi
Hallo Toni,
hättest ja auch gleich sagen können das es sich um eine Textbox handelt ;-)
mach so
GameA.Value = Val(GameA.Value) + 1
Val macht aus dem String eine Zahl und dann kannst Du addieren, musst Du an den anderen Stellen auch machen.
Gruß
yummi
AW: Formular Schleife
14.06.2017 15:08:36
Toni
hahaha sorry, bin generell nicht so gut im erklären.
TAUSEND DANK :-)
AW: Formular Schleife
14.06.2017 14:36:42
yummi
von welchem Typ ist den ndie Variable, kein integer?
gruß
yummi
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige