VBA Excel Multipage - Inhalt einer dynamisch erzeugten Page erstellen?
Hallo Zusammen,
ich habe innerhalb eines kleinen VBA-Programmes in Excel eine Multipage, deren Seiten dynamisch während der Laufzeit erzeugt werden. Welche Seiten erzeugt werden hängt von einer vorherigen Auswahl ab. Nun weiss ich aber nicht, wie ich den Inhalt dieser Pages erstellen kann.
Vielleicht hat jemand ein bisschen Beispielcode dafür.
Vielen Dank schon mal
Mabue
ich habe innerhalb eines kleinen VBA-Programmes in Excel eine Multipage, deren Seiten dynamisch während der Laufzeit erzeugt werden. Welche Seiten erzeugt werden hängt von einer vorherigen Auswahl ab. Nun weiss ich aber nicht, wie ich den Inhalt dieser Pages erstellen kann.
Vielleicht hat jemand ein bisschen Beispielcode dafür.
Vielen Dank schon mal
Mabue
2 Antworten
- LÖSUNG mabue88 schreibt am 04.09.2011 um 15:58:07 Uhr
- LÖSUNG 76109 schreibt am 04.09.2011 um 18:47:03 Uhr
LÖSUNG 04.09.2011 um 15:58 Uhr
Hier noch ein kleiner Zusatz:
Mit diesem Code erzeuge ich zunächste eine Übersichtsseite und wenn im Userform1 die Checkbox1 = TRUE ist anschließend eine Seite mit dem Namen "Page1". Innerhalb dieser Page1 wird zunächst ein Frame und dann eine Textbox erzeugt. Wie kann ich nun nachdem alles erzeugt wurde zum Beispiel den Inhalt der Textbox bearbeiten?
Sub Open_Sub()
MultiPage1.Pages.Add ("Übersicht")
If Userform1.CheckBox1.Value = True Then
With MultiPage1
.Add ("Page1")
With .Pages("Page1").Add("Forms.Frame.1")
.Left = 6
.Top = 6
.Height = 100
.Width = 100
.Caption = "test"
With .Add("Forms.Textbox.1")
.Left = 6
.Top = 6
.Visible = True
.Height = 88
.Width = 88
End With
End With
End With
End If
End Sub
LÖSUNG 04.09.2011 um 18:47 Uhr
Hallo mabue88!
Obwohl ich den Sinn des Ganzen nicht so ganz verstehe, zumal eine MultiPage beim erstellen schon eine Page("Page1") und Page("Page2") enthält und Du mit Deinem Code zusätzlich noch eine Page("Übersicht") und nochmals eine Page("Page1") erstellst?
Destotrotz, gib der TextBox beim Erstellen einen Namen mit:
Dann könntest Du die TextBox z.B. so ansprechen
Gruß Dieter
Obwohl ich den Sinn des Ganzen nicht so ganz verstehe, zumal eine MultiPage beim erstellen schon eine Page("Page1") und Page("Page2") enthält und Du mit Deinem Code zusätzlich noch eine Page("Übersicht") und nochmals eine Page("Page1") erstellst?
Destotrotz, gib der TextBox beim Erstellen einen Namen mit:
With .Add("Forms.Textbox.1", "MyTextBoxName")
Dim MyText As string
MultiPage1.Pages("XY").Controls("MyTextBoxName").Text = "Test"
MyText = MultiPage1.Pages("XY").Controls("MyTextBoxName").Text