Per VBA eine UserForm in anderer Arbeitsmappe auslesen

Moderator: ModerationP

Per VBA eine UserForm in anderer Arbeitsmappe auslesen

Beitragvon Warlord45 » 15. Feb 2020, 04:21

Hallo VBA-Profis,

wie immer hoffe ich auf einige Ratschläge von eurer Seite.

Ich möchte den Value einer Checkbox in einer Userform aus einem anderen Arbeitsblatt abfragen, also

If UserForm1.CheckBox5.Value = True Then

nur das eben die Userform in einer anderen, bereits geöffneten Arbeitsmappe liegt.

Ist dies möglich? Ich wäre über einen Ratschlag dankbar.

Beste Grüße

Warlord45
Warlord45
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7
Registriert: 14. Nov 2019, 10:35

Re: Per VBA eine UserForm in anderer Arbeitsmappe auslesen

Beitragvon thowe » 15. Feb 2020, 07:19

Guten Morgen!

werden beide Arbeitsmappen "gleichzeitig" verändert. Als Daten eingegeben. Oder sind die Daten in der 2. (bereits geöffneten) Arbeitsmappe "statisch" für die abrufende Arbeitsmappe....

herzlich
LG & ciao....

thowe
<think happy thoughts>
Hast du Milch für Kaffe? Ja, ich habe "Fettarme". Das sehe ich. Bekomme ich nun eine Milch?
Benutzeravatar
thowe
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 551
Registriert: 09. Jul 2007, 12:20
Wohnort: Graz

Re: Per VBA eine UserForm in anderer Arbeitsmappe auslesen

Beitragvon Nepumuk » 15. Feb 2020, 09:11

Hallo,

es ist grundsätzlich nicht möglich auf das Userform einer anderen Mappe zuzugreifen.

Du brauchst dazu in der Mappe mit dem Userform eine Funktion welche den Wert zurück gibt. Diese Funktion kannst du dann per Application.Run-Methode aufrufen.

Beispiel:

In der Mappe mit dem Userform in einem Standardmodul (die Mappe hat im Beispiel den Namen Mappe1.xlsm):

Code: Alles auswählen
Option Explicit

Public Function CheckBox() As Boolean
    CheckBox = UserForm1.CheckBox1.Value
End Function

In der zweiten Mappe in der du den Wert weiterverarbeiten willst:

Code: Alles auswählen
Option Explicit

Public Sub Test()
    Dim blnValue As Boolean
    blnValue = Application.Run("'Mappe1.xlsm'!CheckBox")
    MsgBox blnValue
End Sub
De fontibus non est disputandum

Gruß
Nepumuk 8-)
Benutzeravatar
Nepumuk
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 14659
Registriert: 10. Aug 2004, 08:40
Wohnort: Regensburg

Re: Per VBA eine UserForm in anderer Arbeitsmappe auslesen

Beitragvon snb » 15. Feb 2020, 13:13

Das scheint mir keine gute Vorgehensweise zu sein.
Du solltest das Projekt besser analysieren und strukturieren.
snb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7433
Registriert: 25. Sep 2014, 16:37

Re: Per VBA eine UserForm in anderer Arbeitsmappe auslesen

Beitragvon Warlord45 » 16. Feb 2020, 08:46

Hallo Nepumuk,

vielen Dank für den Code. Funktioniert super.

Beste Grüße

Warlord45
Warlord45
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7
Registriert: 14. Nov 2019, 10:35

Re: Per VBA eine UserForm in anderer Arbeitsmappe auslesen

Beitragvon thowe » 16. Feb 2020, 08:51

Wie stellst du sicher, das die andere Arbeitsmappe gerade geöffnete ist?

Öffnest du die Arbeitsmappe vorher per VBA (FSO) oder....?
LG & ciao....

thowe
<think happy thoughts>
Hast du Milch für Kaffe? Ja, ich habe "Fettarme". Das sehe ich. Bekomme ich nun eine Milch?
Benutzeravatar
thowe
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 551
Registriert: 09. Jul 2007, 12:20
Wohnort: Graz


Zurück zu Excel Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 21 Gäste