Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Code vereinfachen?
#1
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?
Antworten Top
#2
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.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Xenon85
Antworten Top
#3
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?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Xenon85
Antworten Top
#4
Leider nimmt er das

Me.Label&i nicht an.

Leider nimmt er das

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

Kalender-Tischkalender
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Xenon85
Antworten Top
#6
Ja soll ein Anwesendheitskalender werden.

Leider bekomme ich bei deinem Code einen fehler mit: 

Typen unverträglich
Antworten Top
#7
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?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Xenon85
Antworten Top
#8
wenn ich das Userform über VBA starte
Antworten Top
#9
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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Xenon85
Antworten Top
#10
Die Label heißen aber auch "Label1, Label2 usw. richtig?
Antworten Top


Gehe zu:


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