Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Userform unterdrücken - wenn Datei von andere Datei geöffnet

Forumthread: Userform unterdrücken - wenn Datei von andere Datei geöffnet

Userform unterdrücken - wenn Datei von andere Datei geöffnet
21.11.2024 10:54:35
MisterTino
Hallo, ich habe einer Excel-Datei X ein Userform vorgeschaltet, d.h. wenn die Datei X geöffnet wird, wird das Userform geöffnet und der Anwender zur Eingabe von paar Daten aufgefordert. Funktioniert prima. Nun zu meinem Problem. Mit einer anderen Datei Y möchte ich diese Datei X über VBA öffnen und Daten auslesen. Dann möchte ich das Userform in Datei X aber nicht öffnen. Y liest die Daten X ein und soll das vorhandene Userform ignorieren. Hat jemand eine Idee, wie ich dies hinbekomme? Grüße Tino
Anzeige
AW: Userform unterdrücken - wenn Datei von andere Datei geöffnet
21.11.2024 12:06:18
Oberschlumpf
Hi,

nutz doch eine globale True/False-Variable, die in beiden Dateien öffentlich deklariert sein muss.

In Datei Y setzt du die Variable zuerst auf True
Erst jetzt öffnest du in Datei Y Datei X.
In Datei X musst du die Bedingung setzen: nur, wenn Variable = False, dann Userform öffnen.

Hilfts?
(hab ich selbst nicht getestet, weil keine Bsp-Datei von dir verfügbar. Aber mit VBA gut bekommst du es bestimmt hin, wenn ich doch irgdwo n Denkfehler hab)

Ciao
Thorsten
Anzeige
AW: Userform unterdrücken - wenn Datei von andere Datei geöffnet
21.11.2024 12:26:13
Onur
ICH würde, wenn ich die Datei X aus der Datei Y öffne, dies ReadOnly machen und in X die Userform nur Öffnen, wenn ReadOnly = False ist.
AW: Userform unterdrücken - wenn Datei von andere Datei geöffnet
21.11.2024 13:17:02
volti
Hallo MisterTino,

die Nutzung von Variablen wie von Oberschlumpf vorgeschlagen scheint mir ein gangbarer Weg.

Grundsätzlich gäbe es u.a. die Möglichkeiten über API-Funktionen eine Inidatei (Textdatei) mit einem Wert zu füllen, der von anderen Dateien dann wieder ausgelesen und zurückgesetzt werden kann.
Oder einen Wert in die Zwischenablage kopieren und diesen beim Öffnen der zweiten Datei auslesen oder weitere Möglichkeiten.

Hier zeige ich noch mal eine weitere Möglichkeit über eine Umgebungsvariabe als Beispiel. (Musst Du noch entsprechend anpassen)

Code:


Private Declare PtrSafe Function SetEnvironmentVariableA Lib "kernel32" ( _ ByVal lpName As String, ByVal lpValue As String) As Long Private Declare PtrSafe Function GetEnvironmentVariableA Lib "kernel32" ( _ ByVal lpName As String, ByVal lpBuffer As String, ByVal nSize As Long) As Long Sub SetzeMich_inDatei1() Dim sTxt As String * 8 SetEnvironmentVariableA "LadeUserform", "Tu es nicht!" ' Variable setzen ' Öffne andere Datei.... SetEnvironmentVariableA "LadeUserform", "" ' Variable zurücksetzen End Sub Sub LadeUserform_inDatei2() Dim sTxt As String * 16, l As Long l = GetEnvironmentVariableA("LadeUserform", sTxt, 16) ' Variable auslesen If Left$(sTxt, l) Like "Tu es nicht!" Then SetEnvironmentVariableA "LadeUserform", "" ' Variable zurücksetzen Else UserForm1.Show End If End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz


Anzeige
AW: Userform unterdrücken - wenn Datei von andere Datei geöf
21.11.2024 13:44:57
MisterTino
Allen Beteiligten herzlichen Dank. Mit Onur's-Readonly habe ich es hinbekommen!
AW: Userform unterdrücken - wenn Datei von andere Datei geöffnet
21.11.2024 13:22:28
Onur
Das ist doch viel zu kompliziert - oder? Der ReadOnly-Status der Datei ist doch schon sowas wie eine globale Variable, die man vor UserForm.Show abfragen kann, ohne irgendwelche API´s benutzen zu müssen.
AW: Userform unterdrücken - wenn Datei von andere Datei geöffnet
21.11.2024 13:26:09
volti
Ja, wenn es so klappt, dann hast Du Recht,Onur. Das wäre einfacher :-)

Gruß KH
Anzeige
AW: Userform unterdrücken - wenn Datei von andere Datei geöffnet
21.11.2024 11:27:40
Ulf
Hi,


Sub Test()
Dim wb As Workbook
Application.EnableEvents = False
Set wb = Workbooks.Open(ThisWorkbook.Path & "\DateiX.xlsm", False, True)
Application.EnableEvents = True
End Sub

hth
Ulf
Anzeige
AW: Userform unterdrücken - wenn Datei von andere Datei geöf
21.11.2024 12:00:27
MisterTino
Hallo Ulf, funktioniert leider nicht. Er öffnet trotzdem das Userform. Grüße
AW: Userform unterdrücken - wenn Datei von andere Datei geöf
21.11.2024 11:57:56
MisterTino
Hi, Danke für den Tipp. Suche jedoch eine VBA-Lösung zum Problem. Grüße

Forumthreads zu verwandten Themen

Anzeige
Anzeige