Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1868to1872
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 mit VBScript

Userform mit VBScript
16.02.2022 08:40:10
Henry
Hallo liebes Forum,
ich öffne mit einem VBScript eine Excel-Userform. Das klappt auch einwandfrei.
Einziges Problem ist, dass sich keine anderen Excel-Dateien öffnen lassen, solange die Userform geöffnet ist.
Zunächst habe ich es mit "Show 0" probiert.
Dies führt aber dazu, dass die Userform kurz geöffnet wird und nach kurzer Zeit direkt wieder schließt.
Dann habe ich es wie folgt versucht:
Userform_Initalize
Application.IgnoreRemoteRequests = True
Userform_Terminate
Application.IgnoreRemoteRequests = False
Dies ist allerdings auch keine verlässliche Lösung, weil aus unerklärlichen Gründen, hin und wieder das Häkchen in den Excel Optionen bei "Andere Anwendungen ignorieren, die Dynamischen Datenaustausch verwenden, trotzdem gesetzt ist.
Somit lassen sich dann keine anderen Excel-Dateien mehr öffnen.
Hat jemand einen anderen Vorschlag?
Über eure Hilfe würde ich mich freuen.

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

Betreff
Datum
Anwender
Anzeige
AW: Userform mit VBScript
16.02.2022 09:16:29
udo
Hallo Henry,
evtl. banal auf diese Weise :
Zum Aufrufen deiner Userform
evtl. zusätzlich einen Marker erstellen, z.B. ein Buchstabe / Zahl in eine Zelle tragen A1="U" = Userform aktiv, A1 = "" = Userform geschlossen
dann würdest du im Tabellenblatt Ereignis " Private Sub Worksheet_Deactivate() " sowas wie
If [A1] ="U" then ... Userform schließen ( aber in A1 das "U" stehen lassen, sodass wenn du über Ereignis activate wieder in das Tabellenblatt wechselst
, du die userform gleich wieder aufrufst.
Somit würde sich die Userform beim verlassen des Balttes selbstständig schließen und entspr. öffnen wenn du zwischen Tabellenblättern oder anderen Excel Tab. wehcselst oder ?
LG udo
Anzeige
AW: Userform mit VBScript
16.02.2022 09:30:19
Henry
Hallo Udo,
vielen Dank für deine Nachricht. Das klingt nach einer interessanten Lösung.
Allerdings habe ich deinen Lösungsweg nicht komplett verstanden.
Würdest du das eventuell noch einmal etwas genauer erklären?
Viele Grüße
AW: Userform mit VBScript
16.02.2022 11:36:04
udo
Hi Henry also ...
In " Diese Arbeitsmappe" ( modul ) folgenden Code:

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Sheets("Tabelle1").Range("A2") = ActiveSheet.Name
If Sheets("Tabelle1").Range("A2")  "Tabelle1" Then
Unload UserForm_01
' zeitgleich noch Die Eigenschaften der Userform auf   ShowModal = False    setzen !
End If
End Sub
in den des Tabellenbalttes selbst :

Private Sub Worksheet_activate()
If Range("A1") = "U" Then UserForm_01.Show
End Sub
dann die Eigenschaft der Userform " ShowModal " auf False setzen ...
Dann kannst du nun gesondert über ein Ein-Ausschaltmakro in Tabelle1 A1 mit U oder "" versorgen und damit generell die Userform aufrufen
wenn du in Tab1 bist ,wenn dort in A1 leer ist springt sie dann nicht an ...
So in der Art, kannst es ja noch anpassen oder Beispieldatei hochladen wenn es umdie Zuweisung bei dir im Speziellen geht,
bei mir klappt es so ...
LG Udo
Anzeige
AW: Userform mit VBScript
16.02.2022 12:55:39
udo
In " Diese Arbeitsmappe " noch verkürzt ( genügt auch ) :

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If Sheets("Tabelle1").Name  ActiveSheet.Name Then Unload UserForm_01
' zeitgleich noch Die Eigenschaften der Userform auf   ShowModal = False    setzen !
End Sub
Im TAB Blatt selbst ( wie gehabt ) :

Private Sub Worksheet_Activate()
If Range("A1") = "U" Then UserForm_01.Show
End Sub
Und deinen Schalter für die Userform selbst :
Sub Userform_Ein_Aus()
If [A1] "U" Then
[A1] = "U"
UserForm_01.Show
Exit Sub
End If
If [A1] = "U" Then
[A1] = ""
Unload UserForm_01
End If
End Sub LG Udo ( bin raus )
Anzeige
AW: Userform mit VBScript
16.02.2022 14:21:33
Henry
Hallo Udo,
leider klappt dein Workaround nicht.
Sobald ich die Userform-Eigenschaft auf ShowModal = False setze, wird die Userform für 1 Sekunde angezeigt und schließt dann wieder.
Zur Info: Ich rufe die Userform über ein vbs Script auf. Excel bleibt dabei unsichtbar.
Sprich es wird nur die Userform angezeigt.
AW: Userform mit VBScript
16.02.2022 15:43:33
udo
Hi, grüss dich,
... Zur Info: Ich rufe die Userform über ein vbs Script auf. Excel bleibt dabei unsichtbar. ...
wusste gar nicht das dass so geht - ohne Excel / oder hab ich da was falsch verstanden ... evtl. einfach meine Unkenntnis,
bitte entschuldige, hmmm, willst oder kannst du ein Beispiel hochladen, damit man probieren kann...
Zum Nachbauen fehlt mir grad leider die Zeit.
LG udo
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige