ja. Mit dem Replace wird dann "Label" weggenommen und die Zahl bleibt, für die Zuweisung zur Zeile.
Erstelle einfach mal ein neues UF, füge dort ein Label ein und packe den Code dazu ...
Ich vermute, Du musst in der Schleife noch eine Prüfung einfügen, z.B.
If Left(myLabel.Name,5)="Label" Then
...
End If
(Du hast sicher nicht nur Label auf dem UF, oder?)
. \\\|/// 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:1 Nutzer sagt Danke an schauan für diesen Beitrag 28 • Xenon85
29.02.2024, 11:05 (Dieser Beitrag wurde zuletzt bearbeitet: 29.02.2024, 11:06 von EarlFred.)
Bei der Schleife musst du aufpassen, wenn neben den Labals 1- 366 noch weitere dazukommen, die du anders behandeln willst oder die anders benannt sind als "LabelX". Ein Zähler von 1-366 könnte in diesem Fall auch passen.
Je nachdem, was und wie du es darstellen willst, könnten andere Steuerelemente einfacher zu handhaben sein. Eine Listbox kommt vielleicht in Betracht.
Hat Dir mein Beitrag geholfen? Dann hilf auch Du - mit einer Spende an Wikipedia, die Tafeln oder aktion-deutschland-hilft.de
Private Sub UserForm_Click()
Dim i As Long
With Me.MultiPage1.Pages(0)
For i = 1 To 10
.Controls("Label" & i).Caption = Cells(i + 1, 1).Value
Next i
End With
With Me.MultiPage1.Pages(1)
For i = 11 To 20
.Controls("Label" & i).Caption = Cells(i + 1, 1).Value
Next i
End With
End Sub
Trotzdem auch noch eine Frage von mir - wozu soll das gut sein, Daten auf 36 Multipages mit je 10 bzw. zuletzt 5 oder 6 Labels, zu verteilen?
Der Anwender kann sicher nur eine sehen. Da könnte man eine Seite gestalten und die Daten dynamisch zur Anzeige bringen, Auswahl z.B. per
- mit einer Combobox mit Auswahl 1 bis 36 (oder Page 1 bis Page 36, oder was auch immer da stehen soll)
- mit einem Scrollbalken, Grenzen 1 bis 36, und einem Label, wo man den gescrollten "Seitenstand" sieht.
- oder eben statt der Combobox eine Listbox zur Auswahl
Die in der Combo- oder Listbox anzuzeigenden Daten könnte man auch per Verknüpfung aus einem Blatt holen, sodass man da bei Änderungen den Code nicht mehr anzufassen braucht.
Wenn Du statt den Labels Textboxen nimmst, mit grauem Hintergrund ... kannst Du denen in der ControlSource auch einen Zellbezug zuweisen und brauchst keinen Code. Außer bei der vorgeschlagenen dynamischen Seite - da würde die erste Zuweisung von A1:A10 ja auf der zweiten Seite nicht mehr passen. Die Bezüge für die 10er Blöcke lassen sich ja einfach berechnen, im Prinzip n+(Combobox.Value-1)*10
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)