Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1744to1748
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

Ausgeblendete Arbeitsmappe speichern

Ausgeblendete Arbeitsmappe speichern
17.03.2020 20:36:14
Sigi
Hallo,
wie nachfolgend beschrieben öffne ich 2 Arbeitsmappen und blende eine davorn aus.
Dies funktionier auch.
Beim Schliessen der Arbeitsmappe sollen beide ohne Rückfrage gespeichert und geschlossen werden.
Leider wird der Code Windows(sFile).Visible = True oder Windows("FaktD.xlsx").Visible = True unterbrochen.
Wo liegt mein Fehler?
Danke!
Gruß
Sigi
Private Sub Workbook_Open()
Dim sFile As String, sPath As String
sFile = "FaktD.xlsx"
sPath = ThisWorkbook.Path & "\" & sFile
'Fehlermeldung wenn Datei nicht vorhanden
If WkbExists("FaktD.xlsx") = False Then
If Dir(sPath) = "" Then
MsgBox "Kann Datei '" & sPath & "' nicht finden -" _
& vbLf & "Die Datei" & sPath & "muss sich im gleichen Ordner wie" & vbLf & " _
FaktV02" & vbLf & "befinden!"
Else
Workbooks.Open sPath
ActiveWindow.Visible = False
End If
Else
Workbooks(sFile).Activate
ActiveWindow.Visible = False
End If
'Startseite aufrufen
Windows("FaktV02.xlsm").Activate
Workbooks("FaktV02.xlsm").Sheets("Menu").Activate
'StartMenu aufrufen
Call Menu_open
UFMenu.Show
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
sFile = "FaktD.xlsx"
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.EnableEvents = False
'Ausgeblendete Arbeitsmappe speichern und schliessen
If WkbExists(sFile) Then
'                Windows(sFile).Visible = True
Windows("FaktD.xlsx").Visible = True
If ActiveWorkbook.Saved = False Then
ActiveWorkbook.Save
ActiveWorkbook.Close
End If
Else
MsgBox "Bereits geschlossen"
End If
'FaktV02.xlsm speichern und schliessen
If Not ThisWorkbook.Saved Then
ThisWorkbook.Close savechanges:=True
End If
.ScreenUpdating = True
.DisplayAlerts = True
.EnableEvents = True
End With
End Sub

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausgeblendete Arbeitsmappe speichern
17.03.2020 20:45:48
Hajo_Zi
warum ..Window und nicht ActiveWorkbook
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.
Das ist nur meine Meinung zu dem Thema.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)

Anzeige
AW: Ausgeblendete Arbeitsmappe speichern
17.03.2020 20:49:35
onur
WkbExists ?
Ist das eine selbstgeschriebene Funktion?
Wenn ja, warum sehe ich sie nicht?
AW: Ausgeblendete Arbeitsmappe speichern
17.03.2020 20:57:28
Sigi
Hallo Onur,
Die WkbExists ist in einem Modul
Function WkbExists(sFile As String) As Boolean
Dim wkb As Object
On Error Resume Next
Set wkb = Workbooks(sFile)
If Err = 0 And Not wkb Is Nothing Then
WkbExists = True
End If
On Error GoTo 0
End Function
Ich verstehe die Antwort von Hajo nicht,was soll ich den "Hochladen" ? Es sind 2 Arbeitsmappen mit den Namen "FaktV02.xlsm" und "FaktD.xlsm". In der erstgenannten sind Userformen in der zweiten sind mehrere Tabellen mit Daten!
Danke für Deine Unterstützung!
Gruß
Sigi
Anzeige
AW: Ausgeblendete Arbeitsmappe speichern
17.03.2020 21:00:33
onur
Setze sie mal PUBLIC.
AW: Ausgeblendete Arbeitsmappe speichern
17.03.2020 21:04:51
Sigi
Hallo Onur,
auch das Public bringt die gleiche Fehlermeldung.
Habe mit dem Makrorecorder auch
Sub Makro2()
' Makro2 Makro
Windows("FaktD.xlsx").Visible = True
End Sub
Keine Ahnung warum dies so ist.
Gruß
Sigi
AW: Ausgeblendete Arbeitsmappe speichern
17.03.2020 21:07:00
onur
1) WELCHE Fehlermeldung denn ?
2) "Habe mit dem Makrorecorder auch" - WAS hat du mit dem Makrorecorder auch? So ein halber Satz bringt nix.
AW: Ausgeblendete Arbeitsmappe speichern
17.03.2020 21:12:17
Sigi
Hallo Onur,
der Fehler kommt bei (fett)
Die Datei "FaktD.xlsx" wird weder eingeblendet noch gespeichert.
Mit dem Macrorecorder wollte ich nut Prüfen ob "Windows("FaktD.xlsx").Visible = True" auch richtig ist.
'Ausgeblendete Arbeitsmappe speichern und schliessen
If WkbExists(sFile) Then
' Windows(sFile).Visible = True
Windows("FaktD.xlsx").Visible = True
If ActiveWorkbook.Saved = False Then
ActiveWorkbook.Save
ActiveWorkbook.Close
End If
Else
MsgBox "Bereits geschlossen"
End If
Danke!
Gruß
Sigi
Anzeige
AW: Ausgeblendete Arbeitsmappe speichern
17.03.2020 21:25:33
onur
Zum letzten Mal (dann bin ich raus) :
WELCHER Fehler (welche Fehlermeldung) denn?
AW: Ausgeblendete Arbeitsmappe speichern
17.03.2020 21:34:07
Sigi
Hallo Onur,
tut mir Leid das ich mich so unverständlich ausgedrückt habe.
Es kommt die Fehlermeldung "Laufzeitfehler 9" Index ausserhalb des gültigen Bereiches
Mit folgendem Code funktioniert es aber
sFile = "FaktD.xlsx"
sPath = ThisWorkbook.Path & "\"
If Dir(sPath & sFile) "" Then
Workbooks("FaktD.xlsx").Sheets("Data").Activate
ActiveWorkbook.Save
ActiveWorkbook.Close
Warum auch immer.
Danke Dir!
Gruß
Sigi
AW: Ausgeblendete Arbeitsmappe speichern
17.03.2020 21:50:19
onur
"wie nachfolgend beschrieben öffne ich 2 Arbeitsmappen" - Welche beiden?
Und in welcher Datei steht der Code?
Anzeige
AW: Ausgeblendete Arbeitsmappe speichern
17.03.2020 22:10:24
Sigi
Hallo Onur,
In der Arbeitsmappe "FaktD.xlsx" sind mehrere Tabellenblätter. Diese soll ausgeblendet werden.
Der Code steht in "dieseArbeitsmappe" von "FaktV02.xls"
Option Explicit
Dim sFile as String, sPath as string
Private Sub Workbook_Open()
sFile = "FaktD.xlsx"
sPath = ThisWorkbook.Path & "\" & sFile
'Fehlermeldung wenn Datei nicht vorhanden
If WkbExists("FaktD.xlsx") = False Then
If Dir(sPath) = "" Then
MsgBox "Kann Datei '" & sPath & "' nicht finden -" _
& vbLf & "Die Datei" & sPath & "muss sich im gleichen Ordner wie" & vbLf & " _
FaktV02" & vbLf & "befinden!"
Else
Workbooks.Open sPath
ActiveWindow.Visible = False
End If
Else
Workbooks(sFile).Activate
ActiveWindow.Visible = False
End If
'Startseite aufrufen
Windows("FaktV02.xlsm").Activate
Workbooks("FaktV02.xlsm").Sheets("Menu").Activate
'StartMenu aufrufen
Call Menu_open
UFMenu.Show
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
sFile = "FaktD.xlsx"
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.EnableEvents = False
'Ausgeblendete Arbeitsmappe speichern und schliessen
If WkbExists(sFile) Then
Hier kommt die Fehlermeldung
Windows("FaktD.xlsx").Visible = True
If ActiveWorkbook.Saved = False Then
ActiveWorkbook.Save
ActiveWorkbook.Close
End If
End if
'FaktV02.xlsm speichern und schliessen
If Not ThisWorkbook.Saved Then
ThisWorkbook.Close savechanges:=True
End If
.ScreenUpdating = True
.DisplayAlerts = True
.EnableEvents = True
End With
End Sub
Im Modul "modAllgemein"
Public Function WkbExists(sFile As String) As Boolean
Dim wkb As Object
On Error Resume Next
Set wkb = Workbooks(sFile)
If Err = 0 And Not wkb Is Nothing Then
WkbExists = True
End If
On Error GoTo 0
End Function
Im Modul "modMenu" ist der Aufruf für die "UFMenu"
Public UF as Object
Sub Menu_open()
Set UF = UFMenu 'wird für den weiteren Programmablauf benötigt
'-----------------------------------------------------------
'UF Größe festlegen
With UFMenu
.Caption = "S T A R T S E I T E F A K T U R A"
.StartUpPosition = 0
.Top = 0
.Left = 0
.Width = 1020
.Height = 560
.Show
End With
End Sub Hoffe das es jetzt klappt.
Danke!
Gruß
Sigi
Anzeige
AW: Ausgeblendete Arbeitsmappe speichern
17.03.2020 22:50:24
onur
Wieso machst du das denn so kompliziert und nicht einfach so:
If WkbExists(sFile) Then
If Not Workbooks(sFile).Saved Then Workbooks(sFile).Save
Workbooks(sFile).Close
End if

?
AW: Ausgeblendete Arbeitsmappe speichern
18.03.2020 04:42:58
Sigi
Hallo Onur,
Danke für Deine Hilfe!
Scheinbar liegt es an einem Code im Klassenmodul meiner Arbeitsmappe.
Wenn ich Excel neu starte und dann das Programm aufrufe funktioniert alles einwandfrei.
Ist Excel schon geöffnet und ich starte das Programm nochmals, dann kommt es zu diesem Fehler.
Gruß
Sigi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige