Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
284to288
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
284to288
284to288
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Userform auswählen

Userform auswählen
25.07.2003 16:09:15
ThomasW
Hallo,
nochmal ich... weiß jemand wie über VBA die erstellen Userforms per code ansprechen kann. also ich meine das so.
gibt es eine möglichkeit z.B. die Namen aller schon erstellen UserForms auszulesen?
DANKE
Grüsse Thomas

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform auswählen
25.07.2003 16:24:20
Nepumuk
Hallo Thomas,
klar, ich. So:

Option Explicit
Public Sub test()
Dim vbc As Object
With ThisWorkbook.VBProject
For Each vbc In .VBComponents
If vbc.Type = 3 Then MsgBox vbc.Name
Next
End With
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk

Anzeige
AW: Userform auswählen
25.07.2003 16:37:25
ThomasW
Hallo Nepumuk,
vielen DANK.. das wars!
noch was anderes.. weißt du zufällig wie ich einem Commandbar Button (also einem Button auf einer Symbolleiste) mit dem "onAction" sagen kann, dass er mir einen userform öffnen soll (er will ja immer eine Sub haben, doch die hab ich nicht!)
DANKE
Thomas

AW: Userform auswählen
25.07.2003 16:44:58
Andy
Hallo,
mache doch einfach ein sub dass deine Userform öffnet und ordne es der "onaction" sache zu. funktioniert auf jeden fall!
Grüße
Andy

AW: Userform auswählen
25.07.2003 16:49:00
ThomasW
Hallo Andy,
das mit der Sub geht nicht, weil diese nicht zur Laufzeit erstellt werden kann.
zum Hintergrund: ich will eine Symbolleiste mit all meinen Userforms, d.h. wenn eine weitere Userform hinzukommt, dann soll diese auch in der Symbolleiste drin sein!
Grüsse Thomas

Anzeige
AW: Userform auswählen
25.07.2003 17:11:36
Nepumuk
Hallo Thomas,
ob das sehr sinnvoll ist, wage ich zu bezweifeln. Also, ohne Sub-Routine geht es nicht. Es gibt natürlich die Möglichkeit eine Sub-Routinen zu Laufzeit zu erstellen. Hast du dir da schon etwas überlegt, wie du aus den Namen der Userforms einen Namen generierst, den du dann auch in der onAction - Anweisung verwenden musst.
Gruß
Nepumuk

AW: Userform auswählen
26.07.2003 15:15:06
ThomasW
Hallo Nepumuk,
der Sinn an der Sache ist einfach, dass ich mich nicht mehr drum kümmern muss, dass ich eine Form vergessen hab in meine Aufrufende Symbolleiste einzuarbeiten.
schade dass das ohne Sub-Routline nicht geht.
aber wie kann ich zur LAufzeit eine Sub-Routine erzeugen? Hast du etwas Code dafür.
zum namen der generierten SUb, da kann man ja den Namen der Form nehmen und ein "Run" oder so davor basteln...dann müsste das schon reichen.
Grüsse Thomas

Anzeige
AW: Userform auswählen
26.07.2003 15:34:22
Nepumuk
Hallo Thomas,
hier mal ein Beispiel. Lass das testmakro laufen, und schau dir das Ergebnis an. Den Code der generiert wird, kannst dann selbst einsetzten.

Option Explicit
Private Sub Makro_generieren(sMakro As String)
Dim vbc As Object, iCounter As Integer, fMacro As String, mFound As Boolean
For Each vbc In ThisWorkbook.VBProject.VBComponents
With vbc.CodeModule
For iCounter = 1 To .CountOfLines
If .ProcOfLine(iCounter, 0) > "" Then
fMacro = .ProcOfLine(iCounter, 0)
If fMacro = sMakro Then
mFound = True
Exit For
End If
End If
Next iCounter
If mFound Then Exit For
End With
Next vbc
If Not mFound Then
With ThisWorkbook.VBProject.VBComponents(ThisWorkbook.VBProject.VBE.ActiveCodePane.CodeModule.Parent.Name).CodeModule
.InsertLines .CountOfLines + 2, "Private Sub " & sMakro & "()"
.InsertLines .CountOfLines + 1, "    Dim Tabelle As Worksheet"
.InsertLines .CountOfLines + 1, "    For Each Tabelle In Worksheets"
.InsertLines .CountOfLines + 1, "        Tabelle.Protect Password:=" & Chr(34) & "Kennwort" & Chr(34) & ", UserInterfaceOnly:=True"
.InsertLines .CountOfLines + 1, "        Tabelle.EnableOutlining = True"
.InsertLines .CountOfLines + 1, "        Tabelle.EnableAutoFilter = True"
.InsertLines .CountOfLines + 1, "    Next"
.InsertLines .CountOfLines + 1, "End Sub"
End With
End If
End Sub
Public Sub test()
Call Makro_generieren("XXX")
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk

Anzeige
AW: Userform auswählen
28.07.2003 10:08:03
ThomasW
Hallo Nepumuk,
das Makro läuft einwandfrei.. echt klasse. jetzt tut die Lösung:
wenn ich nun einen neue Userform anlege, wird automatisch beim nächsten Start eine Symbolleister erzeugt, die alle Userforms mittels eines buttons dieser Symbolleiste aktivieren lässt!
DANKE dafür
Grüsse Thomas
PS: ich würde den Code zur verfügungstellen... wie kann man das hier im Forum oder auf dem Server und der Rubrik "Recherche" machen?

AW: Userform auswählen
28.07.2003 10:17:41
Nepumuk
Hallo Thomas,
mach einen neuen Beitrag auf, mit einem Betreff der aussagefähig ist.
Gruß
Nepumuk

AW: Userform auswählen
28.07.2003 12:22:10
ThomasW
Hallo Nepumuk,
habs gepostet.. danke für den Tip.
Grüsse Thomas

Anzeige
AW: Userform auswählen
28.07.2003 12:22:15
ThomasW
Hallo Nepumuk,
habs gepostet.. danke für den Tip.
Grüsse Thomas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige