Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1748to1752
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Multipage automatisch umbenennen

Multipage automatisch umbenennen
09.04.2020 23:31:38
cfs73
Hallo,
ich brauche mal wieder Hilfe, weil meine Kenntnisse in Excel mit VBA noch nicht gut ist.
Ich erkläre kurz was ich möchte und die Datei habe ich im Anhang mitgeschickt. https://www.herber.de/bbs/user/136593.xlsm
Ich habe eine Liste mit 36 Teilnehmern im Tabellenblatt "Übersicht TN" , wo ich die Namen in den Spalten "C:C" ab "C2" bis "C37" und den Nachnamen in "D:D" ab "D2" bis "D37"stehen habe.
Möchte eine Eingabemaske (UserForm") bauen mit einen Multipage-Register aus "36 Pages", für jeden Teilnehmer eins, welche automatisch mit den "Namen" und "Vornamen" beschriftet wird, sobald ich die Teilnehmer*innen im Tabellenblatt "Übersicht TN" eingebe.
Ich habe etwas getrickst, in dem ich mir ein Tabellenblatt mit den Namen "Anzahl" angelegt habe und welches ich nachher ausblende. Hier habe ich mir eine Formel mit einer Verkettung "=VERKETTEN('Übersicht TN'!C2;", ";'Übersicht TN'!D2)" gebaut, der mir aus den Spalten "C:C" und den Spalten "D:D" aus Tabellenblatt "Übersicht TN"den Namen und den Vornamen in Spalte "B:B" schreibt.
Aus diesen Tabellenblatt "Anzahl" sollen nun aus der Spalte "B:B" die 36 Multipageblätter automatisch umbenannt werden.
ich habe auch schon ein VBA-Code gebaut und in der Userform "frmDatenblatt" eingebaut.
Der Code lautet:

Private Sub UserForm_Initialize()
'automatische Benennung des Multipage Register
MultiPage1.Page1.Caption = Sheets("Anzahl").Range("b1")
MultiPage2.Page2.Caption = Sheets("Anzahl").Range("b2")
End Sub

Das funktioniert auch ganz gut, solange ich nur eine Page automatisch benenne. Will ich aber auch alle anderen 35 "Pages" automatisch umbenennen, dann kommt folgender Fehler "Laufzeitfehler'424': Objekt erforderlich.
Was ist an meiner Vorgehensweise falsch oder was muss ich noch ergänzen? Am besten sieht man es in meiner Datei im Anhang. Vielleicht geht der auch noch einfacher.
Würde mich über Ideen und Anregungen freuen.
Wünsche ein schönes Osterfest.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Multipage automatisch umbenennen
10.04.2020 01:19:16
SF
Hola,
verlinkst du bitte deine Fragen in den verschiedenen Foren gegenseitig?
Danke.
Gruß,
steve1da
AW: Multipage automatisch umbenennen
10.04.2020 09:29:40
Nepumuk
Hallo Carsten,
du hast nur ein MultiPage-Control. Also:
Option Explicit

'********************************************************
Private Sub cmdSchließen_Click()
    
    'Formular Daten schließen
    Unload Me
    
End Sub

'********************************************************
Private Sub UserForm_Initialize()
    'automatische Benennung des Multipage Register
    With Worksheets("Anzahl")
        MultiPage1.Page1.Caption = .Range("b1").Text
        MultiPage1.Page2.Caption = .Range("b2").Text
        MultiPage1.Page3.Caption = .Range("b3").Text
        MultiPage1.Page4.Caption = .Range("b4").Text
        MultiPage1.Page5.Caption = .Range("b5").Text
        MultiPage1.Page6.Caption = .Range("b6").Text
        MultiPage1.Page7.Caption = .Range("b7").Text
        MultiPage1.Page8.Caption = .Range("b8").Text
        MultiPage1.Page9.Caption = .Range("b9").Text
        MultiPage1.Page10.Caption = .Range("b10").Text
        MultiPage1.Page11.Caption = .Range("b11").Text
        MultiPage1.Page12.Caption = .Range("b12").Text
        MultiPage1.Page13.Caption = .Range("b13").Text
        MultiPage1.Page14.Caption = .Range("b14").Text
        MultiPage1.Page15.Caption = .Range("b15").Text
        MultiPage1.Page16.Caption = .Range("b16").Text
        MultiPage1.Page17.Caption = .Range("b17").Text
        MultiPage1.Page18.Caption = .Range("b18").Text
        MultiPage1.Page19.Caption = .Range("b19").Text
        MultiPage1.Page20.Caption = .Range("b20").Text
        MultiPage1.Page21.Caption = .Range("b21").Text
        MultiPage1.Page22.Caption = .Range("b22").Text
        MultiPage1.Page23.Caption = .Range("b23").Text
        MultiPage1.Page24.Caption = .Range("b24").Text
        MultiPage1.Page25.Caption = .Range("b25").Text
        MultiPage1.Page26.Caption = .Range("b26").Text
        MultiPage1.Page27.Caption = .Range("b27").Text
        MultiPage1.Page28.Caption = .Range("b28").Text
        MultiPage1.Page29.Caption = .Range("b29").Text
        MultiPage1.Page30.Caption = .Range("b30").Text
        MultiPage1.Page31.Caption = .Range("b31").Text
        MultiPage1.Page32.Caption = .Range("b32").Text
        MultiPage1.Page33.Caption = .Range("b33").Text
        MultiPage1.Page34.Caption = .Range("b34").Text
        MultiPage1.Page35.Caption = .Range("b35").Text
        MultiPage1.Page36.Caption = .Range("b36").Text
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Multipage automatisch umbenennen
10.04.2020 11:31:58
Nepumuk
Nochmal Hallo,
besser so:
Private Sub UserForm_Initialize()
    Dim lngIndex As Long
    'automatische Benennung des Multipage Register
    With Worksheets("Anzahl")
        For lngIndex = 1 To 36
            MultiPage1.Pages(lngIndex - 1).Caption = .Cells(lngIndex, 2).Text
        Next
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Multipage automatisch umbenennen
10.04.2020 23:01:16
fcs
Hallo cfs,
ich rate dringend davon ab die Datenerfassung/-Anzeige in deiner geplanten Vorgehensweise durchzuführen.
Du wirst in einer Flut von Eingabe-Steuerelementen über die vielen Multi-Pages ersticken bzw. sehr viel Aufwand in die Programmierung zur Erstellung und Pflege der Multipages und deren Einlesen und Rückgabe von Werten stecken müssen.
Sinnvoll ist nach meiner Ansicht:
im Hauptuserform eine Listbox zur Auswahl eines Teilnehmers und Anzeige persönlicher Daten (z.B. Name, Nachname etc).
Im Multipage mehrere Seiten die die verschiedenen Phasen der Erstellung von Expose, Facharbeit und Prüfung/Bewertung abbilden.
Mit der Auswahl eines Teilnehmers in der Listbox/Combobox werden die Daten des TN in die Steuerelemente eingelesen.
Es ist ratsam hier in der Tag-Eigenschaft der Steuerelemente die Nummer der Spalte zu verwalten in der der zugehörige Wert steht. Das wird das Einlesen/Zurückschreiben der Daten vereinfachen.
Da ich in Osterlaune bin hab ich dir ein Ei ins Nest gelegt und das Userform mal entsprechend aufbereitet.
https://www.herber.de/bbs/user/136618.xlsm
Happy Easter
Franz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige