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.

Hilfe Beim Code Kürzen
#1
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 
Antworten Top
#2
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.
Gruß
Michael
[-] Folgende(r) 1 Nutzer sagt Danke an Der Steuerfuzzi für diesen Beitrag:
  • Eizi100
Antworten Top
#3
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
Antworten Top


Gehe zu:


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