Microsoft Excel

Herbers Excel/VBA-Archiv

Darstellungsprobleme bei unprotect-Makro | Herbers Excel-Forum


Betrifft: Darstellungsprobleme bei unprotect-Makro von: Samuel
Geschrieben am: 05.01.2010 14:02:28

Geschätzte Gemeinde

Ich verwende folgendes Makro um den Blattschutz alle Blätter und den Mappenschutz einer Arbeitsmappe aufzuheben:

Sub unprotect_SchutzAufheben
   Dim wks As Worksheet
      For Each wks In ActiveWorkbook.Worksheets
      wks.unprotect "PASSWORD"
      Next wks
      ActiveWorkbook.unprotect "PASSWORD"
End Sub

Wird das Makro laufen gelassen, werden alle Blätter 'durchgerattert', bzw. gibt's auf dem Bildschirm einen kurzen 'Blättersturm' und man landet wieder auf dem Ausgangsblatt.

Nun melden sich einige Anwender (vor allem mit neueren Systemen), dass das Durcheinander auf dem Bildschirm bei Ihnen 'hängen bleibt'. Sie müssten dann das Excel-Fenster mehrmals minimieren und wieder maximieren, bis der Normalzustand wieder erreicht sei.

Ich vermute ja, dass das Problem bei der Grafikkarte/-Treiber liegt und nicht beim Makro. Aber zur Symtombekämpfung:

Gibt es eine Methode um dieses 'durchrattern' auf dem Bildschirm zu verhindern?

Interessant finde ich ja auch, dass beim Makro zum Schützen der Arbeitsmappe, das alles nicht passiert. Obwohl es eigentlich den gleichen Ablauf verwendet:
Sub Protect_Schuetzen
   Dim wks As Worksheet
      For Each wks In ActiveWorkbook.Worksheets
      wks.Protect "PASSWORD"
      Next wks
      ActiveWorkbook.Protect "PASSWORD"
End Sub

  

Betrifft: AW: Darstellungsprobleme bei unprotect-Makro von: Samuel
Geschrieben am: 05.01.2010 14:09:44

Allenfalls mit einem Befehl der das Fenster zu Beginn des Markos minimiert und zu Schluss wieder maximiert? Wie würde so etwas aussehen?


  

Betrifft: AW: Darstellungsprobleme bei unprotect-Makro von: Josef Ehrensberger
Geschrieben am: 05.01.2010 14:22:09

Hallo Samuel,

das geht so.

Sub unprotect_SchutzAufheben()
  Dim wks As Worksheet, lngState As Long
  
  On Error GoTo ErrExit
  
  lngState = Application.WindowState
  Application.WindowState = xlMinimized
  
  For Each wks In ActiveWorkbook.Worksheets
    wks.Unprotect "PASSWORD"
  Next wks
  
  ActiveWorkbook.Unprotect "PASSWORD"
  
  ErrExit:
  Application.WindowState = lngState
End Sub



Gruß Sepp



  

Betrifft: AW: Darstellungsprobleme bei unprotect-Makro von: Samuel
Geschrieben am: 05.01.2010 14:34:35

Danke Sepp, für den Minimierungs-Code... werde ihn meiner Sammlung beifügen.


  

Betrifft: AW: Darstellungsprobleme bei unprotect-Makro von: Ramses
Geschrieben am: 05.01.2010 14:22:28

Hallo

Sub unprotect_SchutzAufheben
   Dim wks As Worksheet
Application.Screenupdating = False
      For Each wks In ActiveWorkbook.Worksheets
      wks.unprotect "PASSWORD"
      Next wks
      ActiveWorkbook.unprotect "PASSWORD"
Application.Screenupdating = True
End Sub
Gruss Rainer


  

Betrifft: AW: Darstellungsprobleme bei unprotect-Makro von: Samuel
Geschrieben am: 05.01.2010 14:33:03

Danke Rainer

Bei mir sieht das schon mal bestens aus! Ich reiche das gleich in die Runde und warte der Reaktionen die da kommen.