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

Probleme mit Zellendropdown

Probleme mit Zellendropdown
25.11.2016 14:08:39
Daniel
Hallo erstmal,
erst einmal vielen Dank für dieses Forum und die vielen hilfreichen Beträge. Ich konnte so schon viele Probleme lösen. Leider habe ich zu meinem aktuellen Problem bisher nichts gefunden:
ich habe in mehreren Zellen per Datenüberprüfung Zellendropdowns angelegt. Soweit funktioniert alles. Das Blatt selbst ist geschützt (die betreffenden Zellen natürlich nicht). Wenn man nun aber über den Zellendropdown eine Auswahl tätigt, springt die Ansicht auf das vorhergehende Tabellenblatt ...
Leider habe ich bisher keine Lösung dazu gefunden. Was mir aber aufgefallen ist, wenn der Blattschutz ausgeschaltet ist, passiert das nicht - aber da mehrere Nutzer in dieser Datei arbeiten (nicht gleichzeitig) kann ich den Blattschutz nicht ganz weglassen ...
Grüße
und Vielen Dank im Voraus
Daniel

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit Zellendropdown
25.11.2016 20:04:10
Ur-Opa
Hallo Daniel,
das Problem konnte ich so nicht nachstellen.
Es könnte einen Versuch wert sein, wenn Du in dem geschützten Arbeitsblatt eine weitere Zelle entsperrst, wohin der Cursor springen kann, nachdem eine Auswahl getätigt worden ist.
Viel Erfolg
Ur-Opa
AW: Probleme mit Zellendropdown
26.11.2016 10:16:35
Daniel
Hallo Ur-Opa
Danke für Deine Antwort.
Es gibt zahlreiche andere Felder in dem Blatt, die nicht gesperrt sind. Ich habe aber auch einige VBA Scripte hinter dem Blatt - aber abgesehen von einem Script, dass den Reiter für das Tabellenblatt einfärbt, wird nichts ausgeführt (glaube ich zumindest). Das Problem tritt aber auch nicht nur auf diesem Blatt auf - sondern in allen Zellendropdowns in der Datei. Eigenartiger Weise kann ich das Problem aber in einer neuen Datei auch nicht rekonstruieren.
Das ist aber auch nicht das einzigste Problem mit dieser Datei :(. Ich bekomme von Zeit zu Zeit beim Speichern die folgende Meldung: "Das Dokument wurde erfolgreich gespeichert, aber Excel kann das Dokument auf Grund einer Zugriffsverletzung nicht erneut öffnen. Bitte schliessen Sie das Dokument und versuchen ..." oder Excel stürzt beim Speichern ganz ab - aber immer schön eins nach dem Anderen...
Grüße
Daniel
Anzeige
AW: Probleme mit Zellendropdown
26.11.2016 16:48:27
fcs
Hallo Daniel,
prüfe mal, ob du versehentlich in die Zellen mit den DropDowns einen Hyperlink auf die Zellen in dem anderen Blatt eingebaut hast.
Eine zweite Variante wäre, dass unter den Tabellenblättern bzw. unter DieseArbeitsmappe im VBA-Editor Ereignismakros Worksheet_Change bzw. Workbook_SheetChange angelegt sind, die bei Wertänderung in den Zellen den Blattwechsel verursachen.
Gruß
Franz
AW: Probleme mit Zellendropdown
27.11.2016 12:24:33
Daniel
Hallo fcs,
auch an Dich erstmal vielen Dank, dass Du Dich an der Suche beteiligst. Verknüpfungen mit den Zellen des anderen Blattes konnte ich nicht feststellen.
Die Listen werden aus Zellen in diesem Blatt erzeugt, da ich jeweils eine leere Auswahl benötigt habe und das mit einer Liste als Quellenangabe nicht hinbekommen habe. Diese Zellen wiederrum waren anfangs versteckt und geschützt. Das hatte ich zum Testen bereits geändert und nur die Schriftfarbe auf die Hintergrundfarbe gesetzt um die Buchstaben auszublenden. - aber ohne Erfolg
Was die Makros angeht, so habe ich in diesem Blatt keine Makros zum Blattwechsel drin.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim geschuetzt As Boolean
geschuetzt = False
If (Target.Address = Me.Range("$J$38:$K$38").Address Or Target.Address = Me.Range("$J$38"). _
Address) And Me.Range("$J$38").Value = "" Then Me.Range("$J$38").Value = 0
'Wenn Änderung durch Nutzer dann ist Autoberechn an, wenn durch Script dann Manuelle Berechnung
If Application.Calculation = xlCalculationAutomatic And Target.Row >= 37 And Target.Row = 2 And Target.Column 
Bei dem Blatt handelt es sich um ein Formularblatt. Der obere Teil wird aus einem Blatt geladen und kann/darf nicht geändert werden. Im unteren Teil werden Daten erfasst. Das Change Script soll überwachen ob Änderungen gemacht werden. Bei Änderungen wird ein Feld, dass gespeichert anzeigt auf Falsch gesetzt und der Reiter rot eingefärbt.
Beim Blattwechsel wird wiederum ein Script ausgelöst, welches darauf hinweist, dass die geänderten Daten noch nicht in die Speichertabelle übernommen wurden und nach einer Abfrage wieder zu diesem Blatt zurückspringt (also auch nicht davon weg).
Gibt es in VBA eine Möglichkeit einzustellen, dass Scripte bei der Auslösung generell im Schrittweise-Modus ausgeführt werden - an jedes Script einen Haltepunkt zu setzen ist mir etwas zu umständlich bei der Komplexität der Datei (zur Zeit etwa 140 A4 Seiten mit VBA-Code-Zeilen).
Grüße
Daniel
Anzeige
AW: Probleme mit Zellendropdown
27.11.2016 13:23:59
Daniel
Hatte scheinbar vergessen den Beitrag als "noch offen" zu markieren. Sorry
Grüße
Daniel
AW: Probleme mit Zellendropdown
27.11.2016 18:34:10
fcs
Hallo Daniel,
eine weitere Möglichkeit das ein ungewollter Blattwechsel stattfindet:
Das aktive Tabllenblatt wird ausgeblendet.
Bezüglich Haltepunkt:
Du muss ja nicht bei allen Scripten einne Haltepunkt setzen.
Das das Problem ja scheinbar beginnt wenn du per Drop-Down-Auswahl einen Wert änderst musst du ja zunächst einmal nur in dem Ereignismakro den Haltepunkt setzen das durch die Wertänderung gestartet wird.
Von da an dann per F8 bei verkleinertem VBA-Editor-Fenster weiter.
Während du per F8 weitermachst kannst du ja an kritischen Punkten eine Haltepunkt setzen. Dann musst du beim Testen nicht jedesmal den ganzen Code von Hand durchklicken sondern arbeitest dich wenn evtl. auch langsam an den Problempunkt heran. Immer wenn du einen Abschnitt als problemfrei identifiziert hast kannst du ja die vorherigen Haltepunkte wieder rausnehmen.
Gruß
Franz
Anzeige
AW: Probleme mit Zellendropdown
28.11.2016 10:59:00
Daniel
Hallo Franz,
ich habe glaube die Ursache gefunden. Das Script (in meinem alten Beitrag) funktioniert problemlos, wenn ich etwas über die Tastertur eingebe, ABER bei der Auswahl über den Zellendropdown, wird sowohl das me.unprotect nicht ausgeführt, als auch die Wertvergabe auf die Zelle P95 - bei der Wertzuweisung bricht das Script meldungslos ab.
Ich habe nun noch versucht das me. mit der Angabe ThisWorkbook.Sheets("Eingabe"). zu ersetzen - ohne Veränderung.
Kann es sein, dass der Prozess zwischen 2 Punkten hängt (die Dropdown-Auswahl ist noch nicht beendet, wenn das Script gestartet wird? Bei der Tastertureingabe wird es ja erst beim Verlassen des Feldes ausgelöst (beim Zellendropdown vielleicht einen Moment zeitiger).
Der Sprung auf das andere Blatt passiert allerdings beim Zeilenweise durchgehen nicht - er springt aber auch in kein anderes Script. Beim Durchlauf ohne Haltepunkt springt er wieder - aber das Einfärben des Reiter passiert auch nicht (also bricht das Script an der gleichen Stelle ab).
Grüße
Daniel
Anzeige
AW: Probleme mit Zellendropdown
28.11.2016 12:04:26
Daniel
Und nochmal ich...
Ich habe das Script im Moment in folgendem Zustand:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim geschuetzt As Boolean
'Verbundene Zelle J38/K38 wird, falls Nutzer nur löscht, auf Null gesetzt
If (Target.Address = Me.Range("$J$38:$K$38").Address Or Target.Address = Me.Range("$J$38"). _
Address) And Me.Range("$J$38").Value = "" Then Me.Range("$J$38").Value = 0
'Wenn Änderung durch Nutzer dann ist Autoberechn an, wenn durch Script dann Manuelle Berechnung
If Application.Calculation = xlCalculationAutomatic And Target.Row >= 37 And Target.Row = 2 And Target.Column 
Ich lasse die Auto-Berechnung noch zusätzlich abgeschaltet, damit nicht noch andere Scripte auf anderen Tabellenblättern ausgelöst werden. Der Grundzustand von der Variable "geschuetzt" wird jetzt erst innerhalb des Wenn-Dann-Teils ausgelöst, da ja das Setzen von P95 selbst das Script wieder auslöst... ist zwar in dem Fall eine neue Instanz der Variable, aber so wird eine Zeile weniger nötig.
Dabei ist mir aufgefallen, dass alle Einstellungen die im Workbook/Application (wie das (un)Protect, Calculation usw.) gesetzt werden, einfach nicht angenommen werden, wenn dieses Script von dem Zellendropdown ausgelöst wird... Setzt man eine Überwachung auf die Werte, bleiben diese unverändert, auch wenn das Script das eigentlich ändern müsste. Damit wird der Schreibschutz nicht aufgehoben und der Wert in P95 kann nicht geändert werden. An dieser Stelle müsste die Schreibschutz-Meldung des Systems kommen - macht sie aber nicht und das Script bricht "nur" ab.
Das passiert aber wie gesagt nur, wenn das Script vom Zellendropdown ausgelöst wird, nicht bei einer Tastatureingabe.
Das Springen in das andere Tabellenblatt ist komischerweise verschwunden, obwohl die Änderungen effektiv nichts bewirken ?!?
Das heißt das Sprungproblem ist erstmal vom Tisch. Da es aber immernoch Probleme mit dem Zellendropdown gibt, möchte ich das Thema gern noch offen lassen ... vielleicht kann mir ja noch jemand sagen, warum Excel scheinbar die im Script geschriebenen Einstellungen nicht schluckt, wenn das Script von einem Zellendropdown ausgelöst wird.
Grüße
Daniel
Anzeige
AW: Probleme mit Zellendropdown
29.11.2016 19:47:43
fcs
Hallo Daniel,
ich hab dein Makro mal etwas angepasst.
Die Application-Einstellungen werden zu Beginn des Makros gesetzt, um die Ausführung zu beschleunigen und Rückkopplungen zu vermeiden.
Am Makroende werden dann ggf. die Einstellungen auf die Werte beim Start gesetzt.
Per Fehlerbehandlung sollte man auch immer für einen kontrolierten Ausstieg aus dem Makro sorgen, so dass die Application-Einstellungen nicht auf unerwünschten Weren eingestellt bleiben.
Gruß
Franz
Private Sub Worksheet_Change(ByVal Target As Range)
Dim geschuetzt As Boolean
Dim StatusCalc As Long, bolScreen As Boolean
'Makrobremsen lösen
With Application
'Merken von Einstellungen - wichtig,falls dieses Ereignismakro von anderen Makros  _
getriggert _
wird, die die Einstellung schon geändert haben
StatusCalc = .Calculation 'Muss gemerkt werden, da 3 Werte möglich
bolScreen = .ScreenUpdating
If StatusCalc  xlCalculationManual Then .Calculation = xlCalculationManual
If bolScreen = True Then .ScreenUpdating = False
.EnableEvents = False
End With
On Error GoTo Fehler 'Diese Zeile in Kommentar umwandeln so lange das Makro entwickelt
'Verbundene Zelle J38/K38 wird, falls Nutzer nur löscht, auf Null gesetzt
If (Target.Address = Me.Range("$J$38:$K$38").Address Or Target.Address = Me.Range("$J$38").  _
_
Address) And Me.Range("$J$38").Value = "" Then Me.Range("$J$38").Value = 0
'Wenn Änderung durch Nutzer dann ist Autoberechn an, wenn durch Script dann Manuelle  _
Berechnung
If Target.Row >= 37 And Target.Row = 2 And Target.Column  .ScreenUpdating Then .ScreenUpdating = bolScreen
If StatusCalc  .Calculation Then .Calculation = StatusCalc
.Calculate
.EnableEvents = True
End With
End Sub

Anzeige
AW: Probleme mit Zellendropdown
01.12.2016 12:35:03
Daniel
Hallo Franz,
noch einmal vielen Dank für Deine Bemühungen.
Du hast in Deiner Variante die Bedingung
If Application.Calculation = xlCalculationAutomatic And Target.Row >= 37 And Target.Row = 2 And Target.Column 

entfernt.
Das habe ich in Anlehnung an Dein Script in if statuscalc = xlCalculationManual wieder eingefügt, da das Script beim Einladen vorhandener Daten in das Tabellenblatt am Ende auch ausgelöst wurde (aber da muss ich die EventSperre in dem anderen Script später nochmal unter die Lupe nehmen bzw. beim zurückschalten der .Calculation wird es eben ausgeführt).
Was ich nicht ganz nachvollziehen kann, ist die Abfrage auf Zellen B37 bis B39. Das sind die ersten 3 Zeilen in der ersten Spalte des zu überwachenden Bereiches - aber ja nicht zwangsläufig die geänderte Zelle... Weiterhin stellt P95 den Zustand [gespeichert / nicht gespeichert] für den Nutzer optisch dar, Deine Abfrage vergleicht m.E. ob alle 3 Zellen Inhalte habe (Excel Anweisungen Anzahl und Anzahl2 auf den identischen Bereich).
Nichts desto Trotz passiert bei folgenden Anweisungen noch immer nichts:

If StatusCalc  xlCalculationManual Then .Calculation = xlCalculationManual
If bolScreen = True Then .ScreenUpdating = False
.EnableEvents = False
Man sieht beim Einzelschritt, dass er in die then Bedingungen springt und diese vermeindlich ausführt, aber geht man nach der Ausführung mit dem Mauszeiger über .Calculation bzw .ScreenUpdating werden dort immernoch die alten Werte (automatisch bzw wahr) angezeigt.
Einzig .EnableEvents wird wirklich auf Falsch gesetzt.
Leider steigt er immernoch an der Stelle der Wertzuweisung zu P95 aus. Dank Deines Scriptes zeigt er jetzt aber einen Fehler 1004 an ("Anwendungs- oder objektdefinierter Fehler"). Dabei ist es absolut unerheblich ab das Blatt oder die Zelle P95 zum Zeitpunkt der Scriptauslösung geschützt/gesperrt sind oder nicht.
Beim Rücksetzen der "Makrobremsen" geht er nicht in die Then-Anweisungen, da die Werte im Script ja nicht verändert wurden...
Frage nebenbei:
Die erzwungene Berechnung (.Calculate) halte ich für überflüssig, da bei Einschalten der Kalku mE selbige sowieso ausgelöst wird (lasse mich aber gern eines Besseren belehren)

Noch einmal vielen Dank für Deine Mühe/Zeit
Grüße
Daniel
Anzeige
AW: Probleme mit Zellendropdown
02.12.2016 00:01:29
fcs
Hallo Daniel,
ein Grundproblem mit dem Status der Application-Einstellungen scheint zu sein, dass du neben dem Blattschutz auch den Schutz der Arbeitsmappe aktiviert hast - davon hast du aber bisher nnichts geschrieben. Zumindest rührt daher wahrscheinlich der Fehler 1004 bzgl. Zelle P95, denn mit aktivieren des Schutzes der Arbeitsmappe konnte ich den Fehler 1004 generieren.
Du hast in Deiner Variante die Bedingung
If Application.Calculation = xlCalculationAutomatic And Target.Row >= 37 And Target.Row = 91 And Target.Column >= 2 And Target.Column entfernt.

Ich habe "Application.Calculation = xlCalculationAutomatic And "weggelassen weils ich es für komplett überflüssig halte.
Die erzwungene Berechnung (.Calculate) halte ich für überflüssig, da bei Einschalten der Kalku mE selbige sowieso ausgelöst wird (lasse mich aber gern eines Besseren belehren)

An dieser Stelle mag es überflüssig sein. Aber mit dieser Anweisung stellt man sicher, dass die Neuberechnung aller Blätter abgeschlossen wird bevor das Makro fortgesetzt wird.
Warum glaubst du hab ich den Kommentar " 'Testzeile zum Umschalten der Tab-Farbe" hinzugefügt hatte?
Irgendwie muss man ja testen, ob ein Makro Anwesiungen korrekt ausführt.
Bei komplexen Makros und der Gefahr, dass Ereignismakros unkontrolliert ausgeführt werden, sorge ich grundsärtlich für eine Deaktivierung der Ereignismakros und sorge für Manuell Berechnung.
Dann kann man an den passenden Stellen Neuberechnungen einfügen oder auch ein Ereignismakro gezielt im Code starten ohne das es Probleme mit Endlosschleifen oder Neuberechnungen gibt, die mmer wieder gestartet werden.
Gruß
Franz
Anzeige
AW: Probleme mit Zellendropdown
02.12.2016 11:28:15
Daniel
Hallo Franz,
der Schutz der kompletten Arbeitsmappe ist nicht gesetzt bzw steht auf "Unbeschränkter Zugriff". Da der Fehler auch nur bei der Benutzung des Zellendropdowns auftritt, hatte ich diesen als Fehlerquelle gedacht - bei Auslösung durch eine Tastertureingabe läuft das Script ja fehlerfrei durch...
Bei einigen Scripten die nur neu berechnet werden müssen, wenn sie geöffnet sind, habe ich z.B. folgende Zeilen eingebaut:

Private Sub Worksheet_Activate()
me.EnableCalculation = True
End Sub
Private Sub Worksheet_Deactivate()
me.EnableCalculation = False
me.Visible = xlSheetHidden
End Sub
Aber das betrifft nicht das Blatt "Eingabe" in dem wir die ganze Zeit rumbasteln.
Was die zusätzliche Bedingung angeht, so verstehe ich diese als sagen wir mal Sicherheitsnetz (d.h. wenn das Script durch eine Änderung eines anderen Scripts auf dem Tabellenblatt aufgerufen werden sollte, wird der Inhalt der Wenn-Dann-Anweisung nicht ausgeführt).
Was das .Calculate angeht, so habe ich das noch mit in die Wenn-Dann-Klammer genommen:

If StatusCalc  .Calculation Then
.Calculation = StatusCalc
.Calculate
End If
Damit wird meiner Meinung nach sichergestellt, dass das Calculate nur ausgeführt wird, wenn vor Macrostart die Berechnung auf etwas anderem als manuell gestanden hat. (Ansichtssache und glaube nicht das eigentliche Problem des Threads).
Was Deine Testzeile angeht, so wird diese (bisher immer) korrekt ausgeführt - der Fehler tritt aber in der Wertzuweisung zur Zelle auf - und da ist es egal ob Du der Zelle ein ja oder nein zuweist.
Deine Aussage An dieser Stelle mag es überflüssig sein. Aber mit dieser Anweisung stellt man sicher, dass die Neuberechnung aller Blätter abgeschlossen wird bevor das Makro fortgesetzt wird. hat mich aber auf die Idee gebracht folgendes zu Makrobeginn (bei Makrobremsen lösen) zu testen:

If StatusCalc  xlCalculationManual Then
.Calculate
.Calculation = xlCalculationManual
End If
Das Script läuft über das .Calculate ohne Probleme drüber, aber .Calculation wird dennoch nicht gesetzt. Wenn ich Dich richtig verstanden habe und der Code erst nach Abschluss aller Berechnungen nach .Calculate weiterläuft, würde ich ausschließen, dass der Fehler auf laufende Neu-Berechnungen zurückzuführen ist...
Grüße
Daniel
PS: Habe Deinen Code zu Makrostart (erweitert um meine Blattschutzabfrage) noch in 2-3 anderen Makros eingebaut und werde mir das sicherlich zukünftig als Makrogrundstock nehmen. Ich habe zwar ähnliche Zeilen genutzt, bin aber immer nur von 2 Werten für die Berechnungseinstellung ausgegangen. DANKE also dafür.
Ich hoffe wir finden noch eine Lösung für mein eigentliches Problem.
PS2: Gibt es eigentlich eine Möglichkeit im Zellendropdown eine Auswahl für ein "leeres Feld" in die Liste zu bekommen? Im Moment fülle ich die Liste für den Zellendropdown mit einem Zellbezug und eine der Zellen ist leer... Hintergrund ist, dass andere Nutzer dieser Tabelle ein Problem daraus gemacht haben, dass ein "X" mit dem Dropdown gesetzt werden konnte, aber um dieses zu löschen mussten sie "Entf" nutzen - es musste also "X" und "" als Auswahlmöglichkeiten für den Dropdown (an anderer Stelle auf dem Blatt sind es dann "V", "R", "N" und "").
PS3: Suche immernoch nach einer Möglichkeit alle Makrostarts in der Datei als Zeilenweise auszuführen anstatt dem normalen Durchlauf.
Anzeige
AW: Probleme mit Zellendropdown
02.12.2016 11:34:28
Daniel
Leider wird dieser Baum nicht mehr in "noch offen" oder in "Forumsliste" angezeigt ... und unter "Deine Beiträge" ist es nicht mehr beantwortbar, da dort nur das Archiv dargestellt wird.
Ich habe jetzt nochmal das Kontrollkästchen aktiviert und hoffe, dass es so wieder unter "noch offen" geführt wird...
Danke für Euer Verständnis
Daniel
AW: Fehlermeldung beim Speichern
01.12.2016 13:01:46
Daniel
Da es die selbe Datei betrifft, möchte ich das als "Unterarm" in diesem Thread noch schreiben. Vielleicht hilft es ja auch das andere Problem zu lösen...
Beim Speichern kommt häufig der Fehler
"Das Dokument wurde erfolgreich gespeichert, aber Excel kann das Dokument aufgrund einer Zugriffsverletzung nicht erneut öffnen. Bitte schließen Sie dieses Dokument, und versuchen Sie erneut es zu öffnen."
Es ist dabei unerheblich an welcher Stelle das Dokument gespeichert ist (Desktop, Stick, Netzwerk, Festplatte). Als System nutze ich Win7 mit Excel 2007
Es gibt in dem Dokument ein BeforeClose-Event, dass die Combo-Boxen leert, weil es sonst ständig zu Fehlern in den Boxen beim Schließen des Programmes kam.
Weiterhin gibt es ein workbook Events

Private Sub Workbook_Open()
done = False
For i = 1 To 4 '
If Dir(ThisWorkbook.Path & "\Sicherungen\") = "" Then Call MkDir(ThisWorkbook.Path & "\ _
Sicherungen\")
If Dir(ThisWorkbook.Path & "\Sicherungen\" & ThisWorkbook.Name & ".temp" & i) = "" Then
If done = False Then
Application.DisplayAlerts = False
ThisWorkbook.SaveCopyAs Filename:=ThisWorkbook.Path & "\Sicherungen\" & ThisWorkbook.Name &  _
".temp" & i
If i  "" Then Kill (ThisWorkbook.Path & "\Sicherungen\" & ThisWorkbook.Name & ".temp" & i + 1)
If i = 4 Then If Dir(ThisWorkbook.Path & "\Sicherungen\" & ThisWorkbook.Name & ".temp" & _
1)  "" Then Kill (ThisWorkbook.Path & "\Sicherungen\" & ThisWorkbook.Name & ".temp" & 1)
Application.DisplayAlerts = True
done = True
i = 4
End If
End If
Next i
If Sheets("Willkommen").Visible = True Then Sheets("Willkommen").Select
LetztesBlatt = CStr(Sheets("Willkommen").Cells(22, 3))
On Error Resume Next
Sheets(LetztesBlatt).Select
If Err  0 Then Sheets("Zusammen").Select
Err = 0
End Sub

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As  _
Boolean)
'Cancel = True
End Sub


Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Dim Antwort As Integer
If Sh Is Nothing Then Exit Sub
If Sh.Name = "PrintList" Then
If ThisWorkbook.Sheets("PrintList").Visible = xlSheetHidden Or ThisWorkbook.Sheets(" _
PrintList").Visible = xlSheetVeryHidden Then Exit Sub
Antwort = MsgBox("Kann ""PrintList"" ausgeblendet werden?" + Chr(10) + "(Wird über ""Liste  _
Drucken"" in ""Rechnungsauswahl"" neu erzeugt)", vbYesNoCancel, "Tabelle schließen")
If Antwort = vbYes Then
Application.DisplayAlerts = False
ThisWorkbook.Sheets("PrintList").Visible = False
ThisWorkbook.Sheets("PrintList").Delete
Application.DisplayAlerts = True
Exit Sub
End If
If Antwort = vbCancel Then ThisWorkbook.Sheets("PrintList").Activate
End If
If Sh Is Nothing Then Exit Sub
If Sh.Name = "FAListe" Then
If ThisWorkbook.Sheets("FAListe").Visible = xlSheetHidden Or ThisWorkbook.Sheets("FAListe"). _
Visible = xlSheetVeryHidden Then Exit Sub
Antwort = MsgBox("Kann ""FAListe"" ausgeblendet werden?" + Chr(10) + "(Wird über ""FA Liste" _
" in ""Rechnungsauswahl"" neu erzeugt)", vbYesNoCancel, "Tabelle schließen")
If Antwort = vbYes Then
Application.DisplayAlerts = False
'ThisWorkbook.Sheets("FAListe").Visible = True
'ThisWorkbook.Sheets("FAListe").Visible = xlSheetVisible
'ThisWorkbook.Sheets("FAListe").Visible = xlSheetHidden
'ThisWorkbook.Sheets("FAListe").Visible = xlSheetVeryHidden
ThisWorkbook.Sheets("FAListe").Visible = False
ThisWorkbook.Sheets("FAListe").Delete
Application.DisplayAlerts = True
Exit Sub
End If
If Antwort = vbCancel Then ThisWorkbook.Sheets("FAListe").Activate
End If
End Sub
Das BeforeSave Event ist im Moment rausgelöscht und soll später nur einige Blätter vor dem Speichern verstecken, damit beim Öffnen ohne aktive Makros kein direkter Zugriff auf die Blätter möglich ist. Wie gesagt - ist aber im Moment rauskommentiert um das als Fehlerquelle auszuschließen.
Alle anderen Events sind Blattspezifisch
Grüße
Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige