Fehler bei verwendung von 3 Schleifen
#1
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
Top
#2
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
Top
#3
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.


Angehängte Dateien
.xlsm   Abwicklung 2.xlsm (Größe: 534,54 KB / Downloads: 1)
Top
#4
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
[-] Folgende(r) 1 Nutzer sagt Danke an ReginaR für diesen Beitrag:
  • Berthic
Top
#5
Perfekt danke   18
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste