Erstellen von Formular programmgesteuert in das Modul mit vba
Erstellen Sie ein Formular in das Modul mit VBA programmgesteuert. Ich bin ein Neuling und unerfahren also habe ich versucht paar Beispiele, aber Sie erfüllen nicht meine Anforderungen.
Ich will einfach nur, makro,
- erstellt eine user form in einem Modul mit VBA -
- hat ein Listenfeld mit einigen Daten
- hat Sie eine Befehlsschaltfläche mit einem Hörer
Hier ist die code, die ich verwendet
Option Explicit
Sub MakeuserForm()
'Dim CommandButton1 As MsForms.CommandBarButton
'Dim ListBox1 As MsForms.ListBox
Dim UserForm1 As VBComponent
Set UserForm1 = ActiveWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm)
With UserForm1
.Properties("Height") = 100
.Properties("Width") = 200
On Error Resume Next
.Name = "My Form"
.Properties("Caption") = "This is your user form"
End With
ShowForm
End Sub
Sub ShowForm()
NewForm.Show
End Sub
Nun weiß ich nicht, wie hinzufügen von ListBox und button, um das Formular mit einem listener.
Post was Sie versucht haben und Lesen Sie bitte die FAQ ' s stackoverflow.com/faq. Dies ist kein Ort für den Erhalt schnelle Antworten, es ist ein Ort des Lernens.
Aktualisiert die Frage
Erstellen von ganzen Formularen dynamisch wie dies in der Regel nicht so gut wie Sie denken würde. Es sei denn, Sie wirklich sind nicht in der Lage, um eine generische version, zumindest eine Art Skelett, das wird eine ganze verdammt viel unnötige Arbeit.
Erklären Sie bitte, warum die form braucht, um zu sein, on the fly erstellt. Es sei denn, Sie haben einen spezifischen Bedarf, wie Brad erklärt, es ist eine Menge Arbeit.
ich möchte es dynamisch, nur weil ich möchte ein Add-in, so dass andere Benutzer können leicht importieren Sie das Add-in in Ihre Excel-Tabelle. ((Wenn ich create user form als auch Sie haben zum erstellen einer user-form um mein Add-in.))
Aktualisiert die Frage
Erstellen von ganzen Formularen dynamisch wie dies in der Regel nicht so gut wie Sie denken würde. Es sei denn, Sie wirklich sind nicht in der Lage, um eine generische version, zumindest eine Art Skelett, das wird eine ganze verdammt viel unnötige Arbeit.
Erklären Sie bitte, warum die form braucht, um zu sein, on the fly erstellt. Es sei denn, Sie haben einen spezifischen Bedarf, wie Brad erklärt, es ist eine Menge Arbeit.
ich möchte es dynamisch, nur weil ich möchte ein Add-in, so dass andere Benutzer können leicht importieren Sie das Add-in in Ihre Excel-Tabelle. ((Wenn ich create user form als auch Sie haben zum erstellen einer user-form um mein Add-in.))
InformationsquelleAutor IConfused | 2012-07-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach hardwork ich habe eine sehr einfache Antwort auf meine Frage. Helfen können Sie auch.
NewFrame
?NB, die Befehl-Taste muss ein event-handler, so werden hartcodiert mit
insertlines
. Doch nichts in derUserForm_Initialize
routine kann eigentlich kommen zwischenVBA.UserForms.Add(myForm.Name)
undShow
. Also für das Auffüllen der ListeSet newUf = VBA.UserForms.Add(myForm.Name)
, dann Schleife über eine Liste von Objekten zu tunnewUf.lst_1.addItem
ist viel einfacher als das hartcodieren der code als strings. SchließlichnewUf.Show
einmal alles einrichtenInformationsquelleAutor IConfused