Clever-Excel-Forum

Normale Version: Fehler bei verwendung von 3 Schleifen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

vielleicht mag und kann mir jemand helfen ?

Ich rufe eine UserForm auf und diese soll sich dann die Beschriftung der Labels aus dem Tabellenblatt ziehen.

Damit ich nicht jedes Label separat zuordnen muss, soll dies mit einer Schleife passieren. 
Tatsächlich funktioniert es auch bis auf eine Kleinigkeit.

Die Schleife welche dafür sorgen soll (u) das nach dem Durchlauf von n und i eine Spalte weiter geht soll, Springt gleich in den letzten wert und füllt alle Label mit dem selben wert.

Nun meine Frage was mache ich verkehrt ? Cobe habe ich begefügt.

Danke für eure Hilfe

Private Sub UserForm_Activate()
Dim i As Integer
Dim n As Integer
Dim u As Integer

    For u = 1 To 31
    For i = 1 To 61 Step 2
         
Controls("Label" & i).Caption = Worksheets("Urlaub").Cells(28, u)

    Next i
For n = 2 To 62 Step 2
   
Controls("Label" & n).Caption = Worksheets("Urlaub").Cells(1, u)

    Next n
    Next u

End Sub
Hi,
Dein Code füllt alle Labels zunächst mit dem Wert aus Spalte 1, dann überschreibt der Code alle Labels mit dem Wert aus Spalte 2 etc. Somit steht in allen Labels zum Schluss der Wert aus Spalte 31.

Was soll denn genau passieren? Evtl. besser mit Beispieldatei zu verstehen.
Gruß Regina
Hallo,

ich möchte eine Liste bauen wo wir immer für die nächsten 2 Monate im Voraus schauen können wann wer im Urlaub ist.

daher soll er sich das Datum und den Wochen Tag in das Label ziehen.

Ich suche dann nachher mit dem Namen die Zeile welche die Textboxen füllt.


Habe einmal eine Beispiel Datei eingefügt.

Um Es übersichtlicher zu machen soll dies halt in eine UserForm erfolgen.
Hi,
teste mal so:

Private Sub UserForm_Activate()
Dim i As Integer
Dim n As Integer
Dim u As Integer
u = 8
    For i = 1 To 61 Step 2
       
        Controls("Label" & i).Caption = Worksheets("Urlaub").Cells(28, u)
        u = u + 1
    Next i
    u = 8
    For n = 2 To 62 Step 2
 
        Controls("Label" & n).Caption = Worksheets("Urlaub").Cells(1, u)
        u = u + 1
    Next n

End Sub


Hinweis: Einige Labels sind in der Reihenfolge vertauscht (z.B. Label 5 und Label 7)

Gruß Regina
Perfekt danke   18