Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1328to1332
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

Userform-Name variabel...

Userform-Name variabel...
01.09.2013 19:51:49
robert

Hi,
dieser Code funktioniert

Private Sub clButton_Click()
UserForm1.Hide
Dim myform
myform = clButton.Caption
'UserForms.Add (Application.VBE.ActiveVBProject.VBComponents(myform).Name) '.Show
Dim t As Control
Set t = Suppen.Controls.Add("Forms.ListBox.1")
t.Left = 10
t.Top = 20
t.Width = 250
t.Height = 200
t.ColumnCount = 2
t.ColumnWidths = "200;30"
t.RowSource = Range("Suppen").Address(External:=True)
t.FontSize = 12
Suppen.Show
End Sub
dieser funktioniert nicht-warum nicht ?
Private Sub clButton_Click()
UserForm1.Hide
Dim myform
myform = clButton.Caption
'UserForms.Add (Application.VBE.ActiveVBProject.VBComponents(myform).Name) '.Show
Dim t As Control
Set t = myform.Controls.Add("Forms.ListBox.1")
t.Left = 10
t.Top = 20
t.Width = 250
t.Height = 200
t.ColumnCount = 2
t.ColumnWidths = "200;30"
t.RowSource = Range("Suppen").Address(External:=True)
t.FontSize = 12
myform.Show
End Sub
Gruß
robert

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform-Name variabel...
01.09.2013 20:36:17
Stefan
Hallo Robert,
Du hast hier eine Variable myForm vom Typ Variant. Dieser weißt Du dann einen Stringwert zu. Eine normale Variable hat aber keine Eigenschaften bzw. Methoden. Und deshalb dürfte hier
  Set t = myform.Controls.Add("Forms.ListBox.1")
die Fehlermeldung kommen.
Gruß Stefan

AW: Userform-Name variabel...
01.09.2013 20:51:15
Nepumk
Hallo,
schon mal so versucht?
Private Sub CommandButton1_Click()
    
    Dim objUserform As Object
    Dim objListBox As MSForms.ListBox
    Dim strName As String
    
    Hide
    
    strName = CommandButton1.Caption
    
    Set objUserform = UserForms.Add(strName)
    
    Set objListBox = objUserform.Controls.Add("Forms.ListBox.1")
    
    With objListBox
        .Left = 10
        .Top = 20
        .Width = 250
        .Height = 200
        .ColumnCount = 2
        .ColumnWidths = "200;30"
        .RowSource = Range(strName).Address(External:=True)
        .FontSize = 12
    End With
    
    objUserform.Show
    
    Set objListBox = Nothing
    Set objUserform = Nothing
    
End Sub

Gruß
Nepumuk

Anzeige
Danke Nepumuk, so funktioniert es :-) oT-Gruß.
02.09.2013 07:39:58
robert

Danke Stefan, ich probiers - owT-Gruß
02.09.2013 07:46:19
robert

AW: Userform-Name variabel...
01.09.2013 20:47:18
Luschi
Hallo Robert,
wie ich sehe, stocherst Du immer noch erfolglos im Nebel der Klassenprogrammierung und begreiftst nicht, was die einzelnem Zeilen bedeuten.
Hier mal die wichtigen Stellen im Vba-Code:
Dim myForm As Object
Dim t As Control
Set myForm = clButton.Parent
Set t = myForm.Controls.Add("Forms.ListBox.1")
myForm.Show
Set t = Nothing
Set myForm = Nothing
Gruß von Luschi
aus klein-Paris

Ja Luschi, hast Recht ;-) versteh ich nie.. owT
02.09.2013 07:44:33
robert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige