Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1424to1428
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

laufzeitgenerierte Objekte mit funktion erstellen.

laufzeitgenerierte Objekte mit funktion erstellen.
27.05.2015 13:59:09
d9C
Hallo,
ich habe das Netz auf und ab gesucht aber leider nicht gefunden.
Ich möchte einem, zu laufzeit generierten, RadioButton eine funktion ausführen lassen.
For i = begin To intAnz
pZahl = Me.mpWechsel.Pages.Count + 1
With Me.mpWechsel
.Add ("Nr. " & pZahl)
With .Pages("Nr. " & pZahl).Add("Forms.Frame.1")
.Left = 6
.Top = 6
.Height = 120
.Width = 360
.Caption = "Wechsel"
.SpecialEffect = 2
With .Add("Forms.Optionbutton.1")
.Left = 240
.Top = 24
.Visible = True
.Height = 21.85
.Width = 96
.Name = "obWunsch" & pZahl
.Caption = "Wunschtermin"
.GroupName = "Datum" & pZahl
.BackStyle = 0
.Font.Size = 12
End With
With .Add("Forms.Optionbutton.1")
.Left = 240
.Top = 48
.Visible = True
.Height = 21.75
.Width = 80
.Name = "obAsap" & pZahl
.Caption = "ASAP"
.ControlTipText = "As soon as possible = Nächst möglicher Termin(Opt-In)"
.GroupName = "Datum" & pZahl
.BackStyle = 0
.Font.Size = 12
End With
With .Add("Forms.Optionbutton.1")
.Left = 114
.Top = 24
.Visible = True
.Height = 21.85
.Width = 117
.Name = "obKdg" & pZahl
.Caption = "Kündigungstermin"
.GroupName = "Datum" & pZahl
.BackStyle = 0
.Font.Size = 12
End With
With .Controls.Add("Forms.Label.1", Name:="lblEndDat" & pZahl)
.Left = 6
.Top = 36
.Visible = True
.Height = 14.35
.Width = 36
.Font.Size = 12
.Caption = "Datum"
End With
With .Add("Forms.Textbox.1")
.Left = 114
.Top = 48
.Visible = True
.Height = 18
.Width = 114
.Name = "tbEndDat" & pZahl
End With
End With
End With
Die RadioButtons sind, wie man sehen kann in einer grp. Wenn der RadioButton "asap" ausgewählt ist, soll die textbox "tbEndDat" ausgegraut werden. diese werden je nach anzahl in einer anderen Textbox erweitert. ergo: anzahl 10 = 10 Pages in Multipage mit den 10 RadioButtons und Textboxen usw.
wie genau mache ich das?

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: laufzeitgenerierte Objekte mit funktion erstellen.
27.05.2015 14:16:18
Daniel
Hi
warum platzierst du die Optionbuttons nicht ausserhalb der Multipages?
dann reicht eine Gruppe, egal wieviele Werte du hast und die kannst du fest erstellen.
die einzelnen Werte für die verschiednene Multipages merkst du dir in einem Array und setzt die Optionbuttons im Change-Event der Multipage auf den Wert der aktiven Seite.
gleiches für die Textbox.
kannst du im Prinzip für alle Steuerlemente machen, die für jede der Seiten gleich sind.
auf den Multipageseiten befinden ich dann nur die Steuerelmente die nicht für alle Seiten gültig sind
Wenn die Pages prinzipell gleich aufgebaut sind, kannst du dann auch die Multipage durch ein einfaches Register ersetzen.
Gruß Daniel

Anzeige
AW: laufzeitgenerierte Objekte mit funktion erstellen.
27.05.2015 14:56:23
d9C
weil die RadioButtons unmittelbar mit dem inhalt in der Page zusammenhängt. Man muss diese sachen dort ausfüllen für jede einzelne page. anders geht es nicht.
Private Sub oAktion_Aktion2(DieZahl As Long)
Label2.Caption = DieZahl
Label1.BackColor = Label2.BackColor
Label2.BackColor = vbRed
Me.Repaint
End Sub
steht in einem Beispiel was vorher gepostet wurde. aber das problem ist ja das ich nicht weiß wieviele erstellt werden. es könntne 150 sein. aber ich kann ja kaum 150 aktionen in einer klasse anlegen, das ist nicht wirklich mein ziel.

Anzeige
AW: laufzeitgenerierte Objekte mit funktion erstellen.
27.05.2015 15:10:56
Daniel
Hi
wie gesagt, speichere im Change-Event der Optionbuttons die Inhalte der Optionbuttons einem Array.
Index ist die Nummer des aktiven Blattes (Multipage.Value)
Das Array muss so viele Elemente enthalten wie die MuPa Seiten hat.
im Change-Evetn der Multipage schaust du dann im array, welcher Wert drin steht und aktivierst den entsprechenen Optionbuttons.
dh die zum blatt gehörenden Werte stehen im Array und über die Optionbuttons änderst du den Array-Wert im zum Blatt gehörenden Index.
klinkt jetzt ein bisschen aufwendig, aber die Alternative (Klassenprogrammierung) ist jetzt auch nicht so ganz ohne.
Kleiner Tip noch am Rande:
Optionbuttons möglichst durch eine List- oder Combobox ersetzen.
Auch das reduziert für dich den Aufwand, weil du weniger Steuerelemente zu verwalten hast.
Gruß Daniel

Anzeige
AW: laufzeitgenerierte Objekte mit funktion erstellen.
27.05.2015 15:20:05
d9C
Stimmt ich könnte die RadioButtons mit einer Combobox ersätzen.
Klassenprogrammierung finde ich aber eleganter...

AW: laufzeitgenerierte Objekte mit funktion erstellen.
27.05.2015 15:25:18
Daniel
Hi
warum?
was ist elegant daran, 30 Optionbuttons in einer Userform zu haben, wenns eine Combobbox genauso macht?
Gruß Daniel

AW: laufzeitgenerierte Objekte mit funktion erstellen.
27.05.2015 16:28:33
d9C
ganz einfach ich erläuter es kurz:
es geht um verträge, je nachdem wieviele der KD zu uns mitbringen will, müssen wir für jeden einzelnen das datum festlegen, wann der mitgenommen werden kann oder aktiviert werden soll... also ist es unabdingbar dort für jede page in Multipages eine combobox(radiobutton-set) erstellt wird. Das ich radiobutton genommen habe habe ich einfach nicht bedacht das es eine combobox genauso tut.

Anzeige
AW: laufzeitgenerierte Objekte mit funktion erstellen.
27.05.2015 16:41:48
Daniel
Hi
warum ist das erforderlich, dass jede Seite eine eigene Combobox hat?
angezeigt wird eh immer nur eine gleichzeitig und ob die zur Multipage seite gehörenden Werte jetzt in vielen Comboboxen oder in einem Array gespeichert sind, ist doch egal.
du kannst die Werte auch in eine Zellbereich schreiben und von dort auslesen, dann sind sie gleich gespeichert.
Wie gesagt, wenn du mit vielen zur Laufzeit erstellten Steuerelementen arbeiten willst, dann darfst du das gerne tun, nur dann darfst du mich nicht fragen. Ich kenne mich mit der Klassen programmierung nicht aus, weil ich die selber noch nie benutzt habe.
ich wäre dann erstmal hier raus, du solltest mit ransi weiterreden.
Gruß Daniel
Anzeige

242 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige