Clever-Excel-Forum

Normale Version: Code vereinfachen?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Ich habe einen Code den ich gerne erweiteren würde.

zur Zeit sieht der so aus

Zitat:Me.Label1 = ThisWorkbook.Worksheets("Anwesende").Range("A2").Value
Me.Label2 = ThisWorkbook.Worksheets("Anwesende").Range("A3").Value
Me.Label3 = ThisWorkbook.Worksheets("Anwesende").Range("A4").Value
Me.Label4 = ThisWorkbook.Worksheets("Anwesende").Range("A5").Value
Me.Label5 = ThisWorkbook.Worksheets("Anwesende").Range("A6").Value
Me.Label6 = ThisWorkbook.Worksheets("Anwesende").Range("A7").Value
Me.Label7 = ThisWorkbook.Worksheets("Anwesende").Range("A8").Value
Me.Label8 = ThisWorkbook.Worksheets("Anwesende").Range("A9").Value
Me.Label9 = ThisWorkbook.Worksheets("Anwesende").Range("A10").Value
Me.Label10 = ThisWorkbook.Worksheets("Anwesende").Range("A11").Value
Me.Label11 = ThisWorkbook.Worksheets("Anwesende").Range("A12").Value
Me.Label12 = ThisWorkbook.Worksheets("Anwesende").Range("A13").Value
Me.Label13 = ThisWorkbook.Worksheets("Anwesende").Range("A14").Value
Me.Label14 = ThisWorkbook.Worksheets("Anwesende").Range("A15").Value
Me.Label15 = ThisWorkbook.Worksheets("Anwesende").Range("A16").Value
Me.Label16 = ThisWorkbook.Worksheets("Anwesende").Range("A17").Value
Me.Label17 = ThisWorkbook.Worksheets("Anwesende").Range("A18").Value
Me.Label18 = ThisWorkbook.Worksheets("Anwesende").Range("A19").Value
Me.Label19 = ThisWorkbook.Worksheets("Anwesende").Range("A20").Value
Me.Label20 = ThisWorkbook.Worksheets("Anwesende").Range("A21").Value
Me.Label21 = ThisWorkbook.Worksheets("Anwesende").Range("A22").Value
Me.Label22 = ThisWorkbook.Worksheets("Anwesende").Range("A23").Value
Me.Label23 = ThisWorkbook.Worksheets("Anwesende").Range("A24").Value
Me.Label24 = ThisWorkbook.Worksheets("Anwesende").Range("A25").Value
Me.Label25 = ThisWorkbook.Worksheets("Anwesende").Range("A26").Value
Me.Label26 = ThisWorkbook.Worksheets("Anwesende").Range("A27").Value
Me.Label27 = ThisWorkbook.Worksheets("Anwesende").Range("A28").Value
Me.Label28 = ThisWorkbook.Worksheets("Anwesende").Range("A29").Value
Me.Label29 = ThisWorkbook.Worksheets("Anwesende").Range("A30").Value
Me.Label30 = ThisWorkbook.Worksheets("Anwesende").Range("A31").Value
Me.Label31 = ThisWorkbook.Worksheets("Anwesende").Range("A32").Value
'Februar
Me.Label32 = ThisWorkbook.Worksheets("Anwesende").Range("A33").Value
Me.Label33 = ThisWorkbook.Worksheets("Anwesende").Range("A34").Value
Me.Label34 = ThisWorkbook.Worksheets("Anwesende").Range("A35").Value
Me.Label35 = ThisWorkbook.Worksheets("Anwesende").Range("A36").Value
Me.Label36 = ThisWorkbook.Worksheets("Anwesende").Range("A37").Value
Me.Label37 = ThisWorkbook.Worksheets("Anwesende").Range("A38").Value
Me.Label38 = ThisWorkbook.Worksheets("Anwesende").Range("A39").Value
Me.Label39 = ThisWorkbook.Worksheets("Anwesende").Range("A40").Value
Me.Label40 = ThisWorkbook.Worksheets("Anwesende").Range("A41").Value
Me.Label41 = ThisWorkbook.Worksheets("Anwesende").Range("A42").Value
Me.Label42 = ThisWorkbook.Worksheets("Anwesende").Range("A43").Value
Me.Label43 = ThisWorkbook.Worksheets("Anwesende").Range("A44").Value
Me.Label44 = ThisWorkbook.Worksheets("Anwesende").Range("A45").Value
Me.Label45 = ThisWorkbook.Worksheets("Anwesende").Range("A46").Value
Me.Label46 = ThisWorkbook.Worksheets("Anwesende").Range("A47").Value
Me.Label47 = ThisWorkbook.Worksheets("Anwesende").Range("A48").Value
Me.Label48 = ThisWorkbook.Worksheets("Anwesende").Range("A49").Value
Me.Label49 = ThisWorkbook.Worksheets("Anwesende").Range("A50").Value
Me.Label50 = ThisWorkbook.Worksheets("Anwesende").Range("A51").Value
Me.Label51 = ThisWorkbook.Worksheets("Anwesende").Range("A52").Value
Me.Label52 = ThisWorkbook.Worksheets("Anwesende").Range("A53").Value
Me.Label53 = ThisWorkbook.Worksheets("Anwesende").Range("A54").Value
Me.Label54 = ThisWorkbook.Worksheets("Anwesende").Range("A55").Value
Me.Label55 = ThisWorkbook.Worksheets("Anwesende").Range("A56").Value
Me.Label56 = ThisWorkbook.Worksheets("Anwesende").Range("A57").Value
Me.Label57 = ThisWorkbook.Worksheets("Anwesende").Range("A58").Value
Me.Label58 = ThisWorkbook.Worksheets("Anwesende").Range("A59").Value
Me.Label59 = ThisWorkbook.Worksheets("Anwesende").Range("A60").Value
Me.Label60 = ThisWorkbook.Worksheets("Anwesende").Range("A61").Value

den müsste ich weiterführen bis A367

kann man das vereinfachen?
Hi,

warum um alles in der Welt braucht man 367 Label?

vielleicht hilft ja eine Schleife:

Code:
For i=1 to 367
Me.Label&i= ThisWorkbook.Worksheets("Anwesende").Range("A"&i+1)
Next


Weiß nicht ob das mit Label&i funktioniert, mußt Du probieren.
Hallöchen,

im Prinzip so:

Dim myLabel As Object
For Each myLabel In Me.Controls
myLabel.Caption = Range("A" & --Replace(myLabel.Name, "Label", "") + 1).Value
Next myLabel

Falls es so nicht zu beschriftende Label gibt, müsstest Du den Zahlenbereich einschränken.

aber ich stimme da Edgar zu - wozu die vielen Labels? Willst Du damit einen Kalender bauen, mit 366 Labels?
Leider nimmt er das

Me.Label&i nicht an.

Leider nimmt er das

Me.Label&i nicht an.
... siehe meine Antwort eine Minute vor Deiner, da steht was anderes als bei Edgar ...

Kalender-Tischkalender
Ja soll ein Anwesendheitskalender werden.

Leider bekomme ich bei deinem Code einen fehler mit: 

Typen unverträglich
der komplette code wäre z.B.

Code:
Private Sub UserForm_Click()
Dim myLabel As Object
For Each myLabel In Me.Controls
  myLabel.Caption = Range("A" & --Replace(myLabel.Name, "Label", "") + 1).Value
Next myLabel
End Sub

Wo kommt denn der Fehler?
wenn ich das Userform über VBA starte
Hallöchen,

der Code funktioniert sowohl im Click, im Userform_Activate und auch im Userform_Initialize, egal, ob ich es manuell oder per VBA starte.
Die Label heißen aber auch "Label1, Label2 usw. richtig?
Seiten: 1 2 3