Ich habe bei einer User Form folgendes Problem.
Es handelt sich hier um Labels von denen es in meiner User Form mehrere gibt und der Reihe nach durchnummeriert sind.
Mein Ziel ist es eine Loop zu haben, welcher mir zum Beispiel Rang_Label_R3_1 die letzte Zahl also die eins beim nächsten Durchgang auf zwei setzt, sodass das nächste Label in der Userform angesprochen wird.
Damit ich nicht alles nach einander Auflisten muss
Private Sub Weiter_R3_Click()
If EE_R3_1 > EE_R3_2 Then
Rang_Label_VF_1.Caption = Rang_Label_R3_1
Else
Rang_Label_VF_1.Caption = Rang_Label_R3_2
End If
If EE_R3_3 > EE_R3_4 Then
Rang_Label_VF_2.Caption = Rang_Label_R3_3
Else
Rang_Label_VF_2.Caption = Rang_Label_R3_4
End If
End Sub
Ich hoffe es kann mir hier Jemand helfen
Gruss Matthias
25.05.2019, 16:06 (Dieser Beitrag wurde zuletzt bearbeitet: 25.05.2019, 16:09 von Käpt'n Blaubär.)
Hallo Matthias,
ich habe Deinen Wunsch nicht so ganz wirklich verstanden, aber wenn ich
nicht ganz falsch liege, dann würde ich eine Laufvariable einbauen, die in
einer Hilfszelle (ist ausblendbar) bei jedem Durchlauf den Wert um 1 erhöht.
Wenn Du von mir weitere Hilfe erwartest, erwarte ich im Gegenzug von Dir
eine Datei, kein noch so schönes Bild, zum Testen.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!
ich hab es auch nicht so ganz begriffen, aber ich versuch es einfach mal ...
Du kannst ein Control innerhalb einer Userform über die Controls-Collection ansprechen.
Ich habe dir nur mal den Code für die erste Zeile aufgeschrieben, da ich nicht weiß, wie deine Controls genau zusammenhängen.
Code:
Private Sub Weiter_R3_Click()
Static i As Long
If i = 0 Then i = 1
If Me.Controls("EE_R3_" & i) > Me.Controls("EE_R3_" & i + 1) Then
Rang_Label_VF_1.Caption = Rang_Label_R3_1
Else
Rang_Label_VF_1.Caption = Rang_Label_R3_2
End If
If EE_R3_3 > EE_R3_4 Then
Rang_Label_VF_2.Caption = Rang_Label_R3_3
Else
Rang_Label_VF_2.Caption = Rang_Label_R3_4
End If
If i > 10 Then i = 0 Else i = i + 1
End Sub
Die Deklaration von i als 'Static' weißt VBA an, die Variable nach der Beendigung des Sub's nicht zu löschen, wie das normalerweise gemacht wird.
Die Zahl 10 in der letzten Zeile, stellt die Anzahl deiner Durchläufe dar, nach denen wieder die erste Reihe dran ist.
Begreifst du, was ich damit sagen will ?
VG Sabina
bei mir läuft Win 7 32-Bit - Office 2010 Pro Plus 32-Bit und Office 2016 Pro Plus 32-Bit
Wer auch weiter Hilfe erwartet, sollte sich nicht zu schade sein, ein kurzes Feedback zu geben.
Es hat noch nicht ganz geklappt.
Ich habe jetzt die Datei dazugetan.
Ich hoffe es ist jetzt verständlicher wie ich es meine.
Es handelt sich um ein Tunierbaum.
So wie ich es jetzt habe klappt das ganze für die ersten beiden weiterkommenden Spieler.
da halte ich einen Loop für übertrieben ... und so richtig ansteigend ist die Serie auch nicht ... dabei hast du immer die gleichen Bezüge ... die 8 Vergleiche einmal runterschreiben und gut ...
Im Viertelfinale sind es ja dann nur noch halb so viele ... :19:
VG Sabina
bei mir läuft Win 7 32-Bit - Office 2010 Pro Plus 32-Bit und Office 2016 Pro Plus 32-Bit
Wer auch weiter Hilfe erwartet, sollte sich nicht zu schade sein, ein kurzes Feedback zu geben.