Clever-Excel-Forum

Normale Version: Hilfe Beim Code Kürzen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen
Bitte lacht mich nicht aus wenn ich euch um Rat bitte um unteren Code abzukürzen.  Ich lese von einem Tabellenblatt in einer Userform (Multipage) in vielen Labels die Daten ein
in Label1 (L1 und L1G und L1J usw.) immer aus Zelle C1) Label2 (L2 und L2G und L2J usw) immer aus Zelle D1. Ich könnte das beliebig weiterführen.
Ich habe das mit   Schleifen probiert, wobei ich mit meinen kläglichen ExcelKenntnisse gescheitert bin
Vielleich kann mir jemand einen Lösungsansatz geben

Mein Plan ist das ich alle Labels nochmals lösche und die ursprünglichen Namen behalte 
Kann man das nicht so ändern dass z.B. Label1 bis Label 10 die Daten aus C1 einliest, Label 11 bis Label 20 die Daten aus D1 einliest.  Uns weiter und so fort

LG
Michael


PHP-Code:
Private Sub Auswahl1_Click()
If 
Auswahl1 True Then
    With ThisWorkbook
.Sheets("test")
        L1.Caption = .Range("c1").Text
        L2
.Caption = .Range("d1").Text
        L3
.Caption = .Range("e1").Text
        L4
.Caption = .Range("f1").Text
        L5
.Caption = .Range("g1").Text
        L6
.Caption = .Range("h1").Text
        L7
.Caption = .Range("i1").Text
        L8
.Caption = .Range("j1").Text
        L9
.Caption = .Range("k1").Text
        L10
.Caption = .Range("l1").Text
        L11
.Caption = .Range("m1").Text
        L1z
.Caption = .Range("c2").Text
        L2z
.Caption = .Range("d2").Text
        L3z
.Caption = .Range("e2").Text
        L4z
.Caption = .Range("f2").Text
        L5z
.Caption = .Range("g2").Text
        L6z
.Caption = .Range("h2").Text
        L7z
.Caption = .Range("i2").Text
        L8z
.Caption = .Range("j2").Text
        L9z
.Caption = .Range("k2").Text
        L10z
.Caption = .Range("l2").Text
        L11z
.Caption = .Range("m2").Text
        
        L1G
.Caption = .Range("c1").Text
        L2g
.Caption = .Range("d1").Text
        L3g
.Caption = .Range("e1").Text
        L4g
.Caption = .Range("f1").Text
        L5g
.Caption = .Range("g1").Text
        L6g
.Caption = .Range("h1").Text
        L7g
.Caption = .Range("i1").Text
        L8g
.Caption = .Range("j1").Text
        L9g
.Caption = .Range("k1").Text
        L10g
.Caption = .Range("l1").Text
        L11g
.Caption = .Range("m1").Text
        L1h
.Caption = .Range("c2").Text
        L2h
.Caption = .Range("d2").Text
        L3h
.Caption = .Range("e2").Text
        L4h
.Caption = .Range("f2").Text
        L5h
.Caption = .Range("g2").Text
        L6h
.Caption = .Range("h2").Text
        L7h
.Caption = .Range("i2").Text
        L8h
.Caption = .Range("j2").Text
        L9h
.Caption = .Range("k2").Text
        L10h
.Caption = .Range("l2").Text
        L11h
.Caption = .Range("m2").Text
        
        L1j
.Caption = .Range("c1").Text
        L2j
.Caption = .Range("d1").Text
        L3j
.Caption = .Range("e1").Text
        L4j
.Caption = .Range("f1").Text
        L5j
.Caption = .Range("g1").Text
        L6j
.Caption = .Range("h1").Text
        L7j
.Caption = .Range("i1").Text
        L8j
.Caption = .Range("j1").Text
        L9j
.Caption = .Range("k1").Text
        L10j
.Caption = .Range("l1").Text
        L11j
.Caption = .Range("m1").Text
        L1k
.Caption = .Range("c2").Text
        L2k
.Caption = .Range("d2").Text
        L3k
.Caption = .Range("e2").Text
        L4k
.Caption = .Range("f2").Text
        L5k
.Caption = .Range("g2").Text
        L6k
.Caption = .Range("h2").Text
        L7k
.Caption = .Range("i2").Text
        L8k
.Caption = .Range("j2").Text
        L9k
.Caption = .Range("k2").Text
        L10k
.Caption = .Range("l2").Text
        L11k
.Caption = .Range("m2").Text
        
        L1l
.Caption = .Range("c1").Text
        L2l
.Caption = .Range("d1").Text
        L3l
.Caption = .Range("e1").Text
        L4l
.Caption = .Range("f1").Text
        L5l
.Caption = .Range("g1").Text
        L6l
.Caption = .Range("h1").Text
        L7l
.Caption = .Range("i1").Text
        L8l
.Caption = .Range("j1").Text
        L9l
.Caption = .Range("k1").Text
        L10l
.Caption = .Range("l1").Text
        L11l
.Caption = .Range("m1").Text
        L1q
.Caption = .Range("c2").Text
        L2q
.Caption = .Range("d2").Text
        L3q
.Caption = .Range("e2").Text
        L4q
.Caption = .Range("f2").Text
        L5q
.Caption = .Range("g2").Text
        L6q
.Caption = .Range("h2").Text
        L7q
.Caption = .Range("i2").Text
        L8q
.Caption = .Range("j2").Text
        L9q
.Caption = .Range("k2").Text
        L10q
.Caption = .Range("l2").Text
        L11q
.Caption = .Range("m2").Text
        
    End With
    End 
If
End Sub 
Hallo,

als erstes benennst Du die Lables konsequent nach folgendem Schema:
L1_C1
L1G_C1
L1Z_D1
L2_D1
...

Dann kannst Du mittels einer Schleife durch die Controls gehen:
Code:
Dim a As Object
For Each a In UserForm1.Controls
    If Left(a.Name, 1) = "L" Then
        a.Caption = Range(Mid(a.Name, InStr(a.Name, "_") + 1, 10)).Text
    End If
Next

Wenn Du weitere Controls hast, die nicht nach diesem Schema bearbeitet werden sollen, dann musst Du halt den Namen der zu bearbeitenden Controls entsprechend eindeutig wählen.
Hi
Danke für die Hilfe
Ich hab zwar noch "Objekt unterstützt diese Eigenschaft...blabla"  Fehler drauf
Aber ich hab jetzt einen Lösungsansatz mit dem ich mich spielen kann. Und das werde ich auch schaffen.

Danke und LG

Michael