Microsoft Excel

Herbers Excel/VBA-Archiv

Multipages dynamisch erzeugen

Betrifft: Multipages dynamisch erzeugen von: yummi
Geschrieben am: 25.06.2014 13:04:53

Hallo zusammen,

ich versuche gerade dynamisch ein UserForm zu bestücken.
Das Anzeigen der Multipage funktioniert soweit. Was ich verzweifelt suche ist die Anzahl der Pages die angelegt werden sollen

Private Sub UserForm_Initialize()
Dim ctl As Control
Dim llast As Long
Dim i As Long
Dim iAnzPages As Integer

    Set ctl = Me.Controls.Add("forms.Multipage.1", True)

    llast = wks.Cells(Rows.Count, 1).End(xlUp).Row
    
    ctl.Pages = llast - 1   'hier soll die Anzahl der Seiten festgelegt werden
    With ctl
        .Left = 270
        .Top = 12
        .Width = 546
        .Height = 276
        .Font.Size = 12
        .ForeColor = &H80000012
        .Visible = True
        '.BackColor = &H80&
        
        For i = 2 To llast
             .Pages(i - 2).Caption = wks.Cells(i, 1).Value
        Next i
    End With
End Sub

Wie lautet der Befehl die Anzahl der Seiten festzulegen?

Vielen Dank für Eure Hilfe
yummi

  

Betrifft: AW: Multipages dynamisch erzeugen von: Rudi Maintaire
Geschrieben am: 25.06.2014 13:21:19

Hallo,

Private Sub UserForm_Initialize()
  Dim ctl As Control
  Dim lLast As Long
  Dim i As Long
  Dim iAnzPages As Integer
  Dim wks As Worksheet
  Set wks = Sheets(1)
  Set ctl = Me.Controls.Add("forms.Multipage.1", True)
  
  lLast = wks.Cells(Rows.Count, 1).End(xlUp).Row
  iAnzPages = lLast - 1
  With ctl
    .Left = 270
    .Top = 12
    .Width = 546
    .Height = 276
    .Font.Size = 12
    .ForeColor = &H80000012
    .Visible = True
    '.BackColor = &H80&
    Do While .Pages.Count < iAnzPages
      .Pages.Add
    Loop
    For i = 0 To iAnzPages - 1
      .Pages(i).Caption = wks.Cells(i + 2, 1).Value
    Next i
  End With
End Sub

Gruß
Rudi


  

Betrifft: AW: Multipages dynamisch erzeugen von: yummi
Geschrieben am: 25.06.2014 13:36:46

Hallo Rudi,

vielen Dank. führt zum Ziel :-)
Also kann man die Anzahl der Seiten nur über Add (und remove) beeinflussen und nicht direkt setzen.

Danke
yummi


 

Beiträge aus den Excel-Beispielen zum Thema "Multipages dynamisch erzeugen"