Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
936to940
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
936to940
936to940
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
UserForm aufrufen
21.12.2007 19:21:00
René
Hallo Gemeinde
Ich habe in einem Sheet eine Liste die die Namen von verschiedenen UserFormen repräsentiert.
Mit dem Code UserForm1.Show ruft man ja beispielsweise eine UF auf.
Wie kann man, oder kann man das überhaupt, die entsprechende UF aufrufen die man aus der Liste auswählt?
Beispiel für die Liste:
UserForm1
UserForm2
UserForm3
Schreibe ich jetzt also in Zelle B3 UserForm2 soll die UF2 erscheinen, respektive die anderen bei entsprechender Auswahl.
Der Start muss nicht unbedingt bei Wechsel in der Zelle passieren, das kann auch von einer Sub aufgerufen werden. Beispiel Sub

Sub Aufruf()
Name_der_UF = Range("B3")
Name_der_UF.Show
End Sub


Ich weiß, das funktioniert nicht, wie also kanns gehen?
Gruß René

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

Betreff
Datum
Anwender
Anzeige
AW: UserForm aufrufen
21.12.2007 20:18:53
fcs
Hallo René,
zumindest unter Excel97 hab ich es nicht geschafft Userforms direkt über den Namen aufzurufen.
Die Objektliste "Userforms" liefert keine Liste obwohl dies laut Hilfe so sein sollte.
Deshalb ein Umweg über eine Select Case Anweisung. Zur Auswahl der Userform hab ich hier eine ComboBox verwendet.
Gruß
Franz

'so hatte ich mir das vorgestellt
Private Sub ComboBox1_Change()
Range("A2").Select
UserForms(Me.ComboBox1.Value).Show
End Sub
'So funktionierts unter Excel97 bei mir
Private Sub ComboBox1_Change()
Range("A2").Select
Select Case Me.ComboBox1.Value
Case "UF_1"
UF_1.Show
Case "UF_2"
UF_2.Show
Case "UF_3"
UF_3.Show
Case Else
MsgBox "Für Auswahl " & UF_Name & "gibt es noch kein Formular"
End Select
End Sub


Anzeige
AW: UserForm aufrufen
21.12.2007 20:34:00
Daniel
Hi Franz
zwei dumme, ein gedanke ;-).
an die Userforms-Auflistung hab ich auch schon gedacht, aber in dieser auflistung sind nur die aktuell geöffneten Userforms vorhanden.
dh. man müsste erst alle Userforms mit "Userform1.show 0" nicht modal öffnen und mit "Userform1.Hide" wieder unsichtbar machen, um dann erst mit der Userforms-Auflistung arbeiten zu können.
aber auch dann kannst du nur über die Index-Nummer auf die Userforms zugreifen, und nicht über den Namen.
Der Code würde dann so aussehen:

Sub Userform_nach_auswahl_B3()
Dim i As Integer
Dim Erfolg As Boolean
UserForm1.Show 0
UserForm1.Hide
UserForm2.Show 0
UserForm2.Hide
UserForm3.Show 0
UserForm3.Hide
Erfolg = False
For i = 0 To UserForms.Count - 1
If UserForms(i).Name = Range("B2") Then
UserForms(i).Show 0
Erfolg = True
Else
UserForms(i).Hide
End If
Next
If Not Erfolg Then MsgBox "userform wurde nicht gefunden"
End Sub


Gruß, Daniel

Anzeige
AW: UserForm aufrufen
21.12.2007 21:04:00
René
Hi Daniel und Franz
Danke schön für die Anregungen, das ist doch schon mal was womit man zurecht kommt.
Es hilft mir sehr weiter, danke :-)
Gruß René

AW: UserForm aufrufen
21.12.2007 20:19:27
Daniel
Hi
mal die unelegante Methode:

Sub Test()
Select Case Range("B3").value
Case "Userform1"
Userform1.show
Case "Userform2"
Userform2.show
case "Userform3"
Userform3.show
Case else
Msgbox "diese Userform gibts nicht"
end select
end sub


ich weiß, auch noch sehr handgestrickt, obs ne bessere Lösung gibt, wie man and die Userforms über den Namen drankommt , weiß ich auch nicht, wobei ich das in diesem Fall natürlich nicht aussschließen will.
So einfach wie bei Sheets über den vergebenen Namen wirds wohl nicht gehen, weil userforms diese Eigenschaft nicht haben.
Gruß, Daniel

Anzeige
AW: UserForm aufrufen
21.12.2007 20:44:56
Werner
Hallo René
Versuch es mal so:

Sub Aufruf()
Name_der_UF = Range("B3")
UserForms.Add(Name_der_UF).Show
End Sub


Gruss Werner

AW: UserForm aufrufen
21.12.2007 21:08:33
Daniel
Cool. hätte nicht gedacht, daß es so einfach geht.
Frohe Weihnacht
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige