Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
940to944
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
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

nur_mit_aktivem_makro Blätter ersichtlich - @Hajo

nur_mit_aktivem_makro Blätter ersichtlich - @Hajo
12.01.2008 18:17:23
Andre´
Hallo Hajo,
folgendes Makro von Dir läuft wunderbar
Option Explicit
Dim InI As Integer ' Zählvariable für Register
Dim ByS As Boolean ' Variable für Speicherung
'**************************************************
'* H. Ziplies *
'* 13.01.03, 18.10.03, 23.04.05 *
'* erstellt von Hajo.Ziplies@web.de *
'* http://home.media-n.de/ziplies/ *
'* *
'**************************************************

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'    ausblenden aller Register außer Tabelle1 mit
'    Sheets("....").Visible = xlVeryHidden aus
'    dies hat den Vorteil Sie können nur per VBA eingeblendet werden.
Dim Mldg As Byte    ' Variable für Schalter MsgBox
'    ActiveWorkbook.Unprotect ("Passwort")      ' falls Dateischutz
If ActiveWorkbook.Saved Then
'       Datei wurde nicht verändert
'       eine Tabelle muß min. eingeblendet sein
Sheets("Tabelle1").Visible = True
'       alle Tabellen ausblenden vom letzten bis zum ersten
'       außer "Tabelle1"
For InI = Sheets.Count To 1 Step -1
If Sheets(InI).Name  "Tabelle1" Then Sheets(InI).Visible = xlVeryHidden
Next InI
ByS = True
ThisWorkbook.Close True
Else
If ByS = True Then Exit Sub
Mldg = MsgBox(" Sollen die Veränderungen gespeichert werden ?", _
vbYesNo + vbQuestion, "Speicher abfrage ?", "", 0)
If Mldg = 6 Then        ' es wurde "Ja" gedrückt
'           aktualisierung Bildschirm aus
Application.ScreenUpdating = False
'           eine Tabelle muß min. eingeblendet sein
Sheets("Tabelle1").Visible = True
'           alle Tabellen ausblenden vom letzten bis zum ersten
'           außer "Tabelle1"
For InI = Sheets.Count To 1 Step -1
If Sheets(InI).Name  "Tabelle1" Then Sheets(InI).Visible = xlVeryHidden
Next InI
'           aktualisierung Bildschirm ein
Application.ScreenUpdating = True
'           Speichervariable auf True, da Ereignis Workbook_BeforeSave
'           augeführt wird
ByS = True
ThisWorkbook.Save
Else
ByS = True
ThisWorkbook.Close False
End If
End If
'    ActiveWorkbook.Protect ("Passwort")    ' Dateischutz wieder setzen
End Sub



Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'   Dieses Ereignis wird auch angesprungen falls in Workbook_BeforeClose die
'   Speicherabfrage mit Ja beantwortet wird
'   Das speichern muß abgefangen werden damit die Datei nicht mit eingeblendeten Tabellen
'   gespeichert wird.
If ByS = False Then
'       das Sicherungsereignis abbrechen, keine Speicherung
Cancel = True
'       Hinweis
MsgBox "Datei kann nur beim schließen gespeichert werden"
End If
End Sub



Private Sub Workbook_Open()
'   ActiveWorkbook.Unprotect ("Passwort")
'   aktualisierung Bildschirm aus
Application.ScreenUpdating = False
'   alle Tabellen einblenden vom letzten bis zum ersten
For InI = Sheets.Count To 1 Step -1
Sheets(InI).Visible = True
Next InI
'   Tabelle mit Hinweis ausblenden
Sheets("Tabelle1").Visible = False
'   Schalter Veränderung der Datei zurückstellen
'   Damit das einblenden der Register nicht als Veränderung der Datei angesehen wird
ActiveWorkbook.Saved = True
'   aktualisierung Bildschirm ein
Application.ScreenUpdating = True
'    ActiveWorkbook.Protect ("Passwort")
End Sub


' Füge ein neues Register ein und schreibe groß drauf "Makro wurden nicht aktiviert"
' in


Private Sub Workbook_BeforeClose(Cancel As Boolean)
'    blendest Du alle anderen Register aus
'    Das Ausblenden hat den Vorteil das die Register nur über VBA eingeblendet werden können
'    und nicht über Format, Blatt, Einblenden.
'    VBA Projekt schützen
Problem ist nur wenn noch eine weitere Exceldatei geöffnet sind und beim beenden der  _
Speichervorgang mit nein geklickt wird, dass dann folgende Meldung kommt.
Userbild
Hast Du dafür eine Lösung MFG Andre

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nur_mit_aktivem_makro Blätter ersichtlich
12.01.2008 18:23:24
Hajo_Zi
Hallo Andre,
welche Datei, und kannst Du dich mal darauf konzentrieren nur das zu schreiben was nicht läuft! Vor lauter Code habe ich nicht Dein Problem gesehen. Mir ist auch nicht klar wie dU im VBA Editor ein Bild einfügst.

AW: nur_mit_aktivem_makro Blätter ersichtlich
12.01.2008 18:57:00
Andre´
Hallo Hajo,
ich meine die Datei wenn mann die Makros nicht aktiviert, dass dann die enthaltenen Blätter nicht eingeblendet werden. Es bleibt nur das eine Blatt zur Übersicht bestehen, das anzeigt:
Sie haben die Makros nicht aktiviert
Wenn Änderungen in der Datei gemacht wurden und beim schließen gefragt wird :
Soll die Veränderung gespeichert werden ? und man nein drückt. dann hängt sich Excel auf falls noch andere Exceldateien offen sind.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Mldg As Byte    ' Variable für Schalter MsgBox
If ActiveWorkbook.Saved Then
Sheets("Tabelle1").Visible = True
For InI = Sheets.Count To 1 Step -1
If Sheets(InI).Name  "Tabelle1" Then Sheets(InI).Visible = xlVeryHidden
Next InI
ByS = True
ThisWorkbook.Close True
Else
If ByS = True Then Exit Sub
Mldg = MsgBox(" Sollen die Veränderungen gespeichert werden ?", _
vbYesNo + vbQuestion, "Speicher abfrage ?", "", 0)
If Mldg = 6 Then
Application.ScreenUpdating = False
Sheets("Tabelle1").Visible = True
For InI = Sheets.Count To 1 Step -1
If Sheets(InI).Name  "Tabelle1" Then Sheets(InI).Visible = xlVeryHidden
Next InI
Application.ScreenUpdating = True
ByS = True
ThisWorkbook.Save
Else
ByS = True
ThisWorkbook.Close False
End If
End If
End Sub


MFG Andre

Anzeige
AW: nur_mit_aktivem_makro Blätter ersichtlich
12.01.2008 19:13:00
Hajo_Zi
Hallo Andre,
ich habe gerade nachgeschaut es ist nicht 1 Datei sonden 8 Dateien. Ich konnte bei der ersten Datei, das Problem nicht nachstellen.
Ich habe mich an Deine Anleitung gehalten, Makros wurden deaktiviert.
Gruß Hajo

AW: nur_mit_aktivem_makro Blätter ersichtlich
12.01.2008 19:38:51
Andre´
Hallo Hajo,
du redest von 8 Dateien das kann ich nicht nachvollziehen.
Es ist eine Datei wo das Makro mit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
End Sub


enthalten ist.
Bei dieser Datei werden natürlich die Makros aktiviert. Wenn jetzt diese Datei geschlossen werden soll und die Abfrage Soll die Veränderung gespeichert werden?? auf nein geklickt wird
und zu dem Zeitpunkt noch andere Datei/ en offen sind dann hängt sich Excel auf.
MFG Andre

Anzeige
AW: nur_mit_aktivem_makro Blätter ersichtlich
12.01.2008 19:50:48
Hajo_Zi
Hallo André,
ich schreibe hier von den Dateien auf meiner Homepage und da sind 8 Dateien und in allen 8 Dateien gibt es das Ereignis Private Sub Workbook_BeforeClose(Cancel As Boolean).
Bei allen meinen Datein wird das Blatt Sie haben die Makros nicht aktiviert, nicht angezigt falls die Makros aktiviert wurden. Also liegt die Vermutung nahe das Du kein Datei von mir benutzt. In Deinem Beitrag Stand die Tabelle ist sichtbar und bei Veränderungen und schliesen kommt es zu einem Fehler.
Ich habe es jetzt mit der ersten aktuellen Datei von meiner HP unter 2003 getestet mit aktivierten Makros und es kommt kein Fehler, falls noch andere Dateien auf sind. (bei mir blinkende Zellen)
Gruß Hajo

Anzeige
AW: nur_mit_aktivem_makro Blätter ersichtlich
12.01.2008 20:02:41
Hajo_Zi
Hallo Andre,
aus dem Namen 48968 kann ich nicht meinen Dateinnamen herleiten. Ich habe nicht das Problem. Also investiere ich auch nicht die Zeit Deinen Code mit meinen Code der 8 Dateien zu vergleichen um festzustellen welche Datei die Grundlage ist.
Gruß Hajo

AW: nur_mit_aktivem_makro Blätter ersichtlich
12.01.2008 20:12:51
Andre´
Hallo Hajo,
ich werde mir mal Deine 8 Dateien anschauen und prüfen ob es Codemäßig einen Unterschied gibt.
MFG Andre

Anzeige
AW: nur_mit_aktivem_makro Blätter ersichtlich
12.01.2008 20:17:00
Hajo_Zi
Hallo André,
das ist zu vermuten, bei diesem Hinweis
5. 01.11.07 Fehler beim schließen der Datei bei Veränderung und Antwort Nein beseitigt
Gruß Hajo

AW: nur_mit_aktivem_makro Blätter ersichtlich
12.01.2008 21:42:59
Andre´
Hallo Hajo,
ich konnte nichts finden, vielleicht kannst Du mir oder jemand Anders trotzdem weiterhelfen.
Was muss im Code abgeändert werden, damit Excel nicht abstürzt.
Siehe Anhang https://www.herber.de/bbs/user/48968.xls
MFG Andre

AW: nur_mit_aktivem_makro Blätter ersichtlich
12.01.2008 21:47:45
Hajo_Zi
Hallo André,
benutze den Originalcode da ist der Fehler beseitigt.
Gruß Hajo

Anzeige
AW: nur_mit_aktivem_makro Blätter ersichtlich
12.01.2008 22:23:00
Andre´
Hallo Hajo,
ok, werd ich machen.
MFG Andre
Schönes Wochenende

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige