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?
#11
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:
  • Xenon85
Antworten Top
#12
In einer neuen Excel Datei geht der code.

Sehr komisch. 

Liegt es vielleicht daran das die Labels auf Multipages sind?


Danke
Antworten Top
#13
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 Wikipediadie Tafeln oder aktion-deutschland-hilft.de
Antworten Top
#14
Code:
Private Sub Userform_Initialize()
  for j =1 to 366
    Me("Label" & j) = dateserial(year(date),1,j)
  next
End Sub

oder
Code:
Private Sub Userform_Initialize()
  for j =1 to 366
    controls("Label" & j) = dateserial(year(date),1,j)
  next
End Sub

Aber besser verwendet man ein Listbox:

Code:
Private Sub Userform_Initialize()
  Listbox1.List=[index(date(year(today()),1,row(1:366)),)]
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#15
Vielleicht ist es so einfacher zu verstehen, wie ich das genau brauche.

Wenn ich die Label auf die Userform direkt schiebe, geht es ohne Probleme.

Sobald die Label auf eine der Multiseiten kommen gibts die Fehlermeldung.


Vielen Dank für eure Hilfe


Angehängte Dateien
.xlsm   Multipages mit fortlaufenden Label.xlsm (Größe: 16,11 KB / Downloads: 9)
Antworten Top
#16
Warum ignorierst du gute Vorschläge ?


Angehängte Dateien
.xlsb   __Multipsge_label_snb.xlsb (Größe: 14,34 KB / Downloads: 3)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#17
Die Codes die du mir geschrieben hast, funktionieren nicht, und die Listbox ist nicht das wie ich das aussehen lassen will.

Ich werde mir deine Datei anschauen. 

Vielen Dank
Antworten Top
#18
Hallo,

Code:
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

Gruß, Uwe
Antworten Top
#19
Ah, ha du suchst keine Hilfe doch Komplettlösungen.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#20
Hallöchen,

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)
Antworten Top


Gehe zu:


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