Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
704to708
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
704to708
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

mit Userform andere mappe öffnen und wieder zurück

mit Userform andere mappe öffnen und wieder zurück
07.12.2005 16:32:16
Thomas
Hallo,
mein Problem ist folgendes:
Aus einer UserForm heraus öffne ich mittels CommandButton ein andere Mappe. Dabei setzte ich die UserForm auf Hide, die andere Mappe ist durch das öffnen ja automatisch aktiv. So weit, so gut.
Nach Bearbeitung dieser Mappe möchte ich diese dann durch eine Schaltfläche, welche auf der Tabelle1 liegt wieder speichern und schließen und zur ursprünglichen Mappe zurück, wobei die UserForm wieder aktiviert werden sollte.
Aber genau darin liegt das Problem, denn wenn ich die zweite Mappe speichere und schließe ist zwar die erste wieder aktiv aber meine UserForm erscheint nicht.
Bringe ich die UserForm mittels Application.Run zum Erscheinen bekomme ich hinterher die zweite Mappe nicht mehr automatisch gespeichert und geschlossen.
Hoffentlicht habe ich mein Problem nicht zu umständlich beschrieben, daß ich mit Hilfe rechnen kann.
Gruß Thomas

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit Userform andere mappe öffnen und wieder zu
07.12.2005 17:19:36
Matthias
Hallo Thomas,
mein Vorschlag:
definiere eine globale Variable (in einem Standardmodul):

Public OpenUF As Boolean

in dein Userform-Modul der (grobe) Code für den Button zum Öffnen der Fremdmappe:

Private Sub CommandButton1_Click()
OpenUF = True
Workbooks.Open ThisWorkbook.Path & "\" & "test1.xls"
Me.Hide
End Sub

und ins Modul "DieseArbeitsmappe":

Private Sub Workbook_Activate()
If OpenUF Then
OpenUF = False
UserForm1.Show
End If
End Sub

natürlich wird das UF auch dann geöffnet, wenn die geöffnete Datei geöffnet wurde, aber der Benutzer die Ursprungsmappe manuell aktiviert.
Aber das leiße sich evtl. auch noch abschalten, falls gewünscht.
Gruß Matthias
Anzeige
AW: mit Userform andere mappe öffnen und wieder zu
07.12.2005 17:59:02
Thomas
Hallo Matthias,
vielen Dank für die schnelle Antwort.
Alle Deine Angaben habe ich in meiner mappe1.xls vorgenommen.
Die mappe2 habe ich entsprechend Deines Beispieles test1 genannt.
Aber, wenn ich test1 mittels
ActiveWorkbook.Close savechanges:=True
schließe ist sie zwar gespeichert und geschlossen, aber meine UserForm1 erscheint nicht in der mappe1. Was mache ich falsch?
Gruß Thomas
AW: mit Userform andere mappe öffnen und wieder zurück
07.12.2005 17:20:22
Rolf
Hallo Thomas,
über deine Schaltfläche in Tabelle1 startest du ein Makro,
das nur die 1. Datei reaktiviert:
Workbooks("Thomas1.xls").Activate
Dann schliesst du von da aus die bearbeitete Datei:
Workbooks("Thomas2.xls").Close Savechanges = True
und zeigst wieder die Form:
Userform1.Show
fG
Rolf
Anzeige
AW: mit Userform andere mappe öffnen und wieder zurück
07.12.2005 18:06:48
Thomas
Hallo Rolf,
vielen Dank für Deine schnelle Antwort.
Sicher habe ich mich nicht klar ausgedrückt. Meine Frage war, wie ich durch die Schaltfläche in der zweiten mappe diese speichern und schließen und automatisch die UserForm in der mappe1 wieder aufrufen kann. Das mit dem wieder aufrufen der UserForm ist das was nicht klappt.
Gruß Thomas
AW: mit Userform andere mappe öffnen und wieder zurück
07.12.2005 22:20:50
Thomas
Hallo,
nun starte ich doch nochmal einen Versuch. Also mein Problem ist folgendes:
In mappe1.xls in 'DieseArbeitsmappe' steht:

Private Sub Workbook_Activate()
MsgBox OpenUF
If OpenUF Then
OpenUF = False
UserForm1.Show
End If
End Sub

In mappe1.xls 'UserForm1' steht:

Private Sub CommandButton1_Click()
OpenUF = True
Workbooks.Open ThisWorkbook.Path & "\" & "test1.xls"
Me.Hide
End Sub

In mappe1.xls 'Modul1' steht:
Public OpenUF As Boolean

Private Sub Schaltfläche1_BeiKlick()
UserForm1.Show
End Sub

Und in der Datei test1.xls steht für eine Schaltfläche im 'Modul1'
Sub Beenden_BeiKlick()
ActiveWorkbook.Close savechanges:=True
End Sub
So weit bin ich nun dank Matthias G's Hilfe gekommen.
Das Porblem ist leider weiterhin, daß sich nach schließen der Datei test1.xls die UserForm1 der Datei mappe1.xls nicht mehr öffnet.
Kann mir bitte nochmal jemand helfen?
Gruß Thomas
Anzeige
AW: mit Userform andere mappe öffnen und wieder zu
08.12.2005 13:23:23
Matthias
Hallo Thomas,
das Problem ist, dass die Ereignisprozedur Workbook_Activate() nicht ausgelöst wird, wenn die Mappe test1.xls über Makro geschlossen wird.
Abhilfe: die Mappe wird über Tastatusbefehl geschlossen, der mit ApplicationSendkeys gesendet wird:
in der Datei test1.xls steht für eine Schaltfläche im 'Modul1'

Sub Beenden_BeiKlick()
ThisWorkbook.Save
Application.SendKeys "%dc"
End Sub

Die Folge "%dc" entspricht dem Befehl Alt-d-c, Also Menü Datei, Schließen.
Eine sauberere Lösung ist mit leider nicht eingefallen.
Viel Erfolg!
Matthias
Anzeige
AW: mit Userform andere mappe öffnen und wieder zu
08.12.2005 16:11:53
Thomas
Hallo Matthias,
vielen Dank für Deine nochmalige Mühe! Es klappt!
An dieser Nuß hätte ich mir alleine die Zähnchen ausgebissen.
Du hast mir sehr geholfen, jetzt komme ich weiter, fragt sich nur wie weit. :-)
Gruß und Dank
Thomas
AW: mit Userform andere mappe öffnen und wieder zu
08.12.2005 16:14:14
Matthias
Hallo Thomas,
Danke für die Rückmeldung und viel Erfolg noch!
Du weiß ja, wo du Hilfe findest ;-)
GRuß Matthias

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige