mal wieder bedingte Formatierungen

Bild

Betrifft: mal wieder bedingte Formatierungen
von: Johannes
Geschrieben am: 13.04.2005 17:07:14
Hallo Spezialisten,
ich habe folgendes Problem: mal wieder bedingte Formatierungen. In der Recherche fand ich folgenden Code (auf Seite von Hajo_Zi), den ich mir für die beiden fehlenden (4. und 5.) Bedingungen angepasst habe.
Der Code steht im Worksheet und arbeitet einwandfrei, solange das Blatt nicht mit einem Blattschutz versehen ist. Ist dieser aktiv kommt folgende Fehlermeldung:
Die ColorIndex-Eigenschaft des Interior-Objektes kann nicht festgelegt werden
Der Code:


Private Sub Worksheet_Calculate()
    Dim RaBereich1 As Range, RaZelle1 As Range
    ' Bereich der Wirksamkeit AS1
    Set RaBereich1 = Range("G23, I23, K23, M23, O23, Q23")
    For Each RaZelle1 In RaBereich1
        If Not Intersect(RaZelle1, RaBereich1) Is Nothing Then
            Select Case RaZelle1.Value
                Case "!"
                    RaZelle1.Interior.ColorIndex = 44
                    ' orange
                Case "0"
                    RaZelle1.Interior.ColorIndex = 36
                    ' hell gelb
            End Select
        End If
    Next RaZelle1
    Set RaBereich1 = Nothing
End Sub

Kann mir jemand den Grund hierfür nennen und evtl sogar eine Abhilfe? Herzlichen Dank für Eure Mühe
Gruß
Johannes
Bild

Betrifft: protect bzw. unprotect
von: ransi
Geschrieben am: 13.04.2005 17:30:57
hallo
dann musst du den schutz zur laufzeit entfernen,
den colorindex setzen und das sheet wieder schützen.
schau dir in der VBA-Hilfe mal Protect-Methode und unprotect-Methode an.
ist da ziemlich gut beschrieben.
ransi
Bild

Betrifft: sorry geht nicht
von: Johannes
Geschrieben am: 13.04.2005 17:38:00
Hallo ransi,
die Fehlermeldung tritt nicht erst auf, wenn der restliche Code abgearbeitet wird, sondern, wenn in den Zellen vor Zellen mit den bedingten Formatierungen eine Eingabe gemacht wird.
Sprich wenn in F23 ein Wert eingetragen wird, "reagiert" G23 mit einer der fünf Bedingungen. Der Blattschutz muss schon immer erhalten bleiben.
Gruß
Johannes
Bild

Betrifft: AW: sorry geht nicht
von: Koenig W.
Geschrieben am: 13.04.2005 17:47:42
sorry,
kann ja nicht gehen, weil Du ja im geschützten Bereich etwas eingeben willst und erst danach das Calculate Ereignis ausgelöst wird, das unprotect also zu spät kommt.
Ich sehe leider nicht genau, was Du in der Tabelle machst oder machen willst.
Gruss
Bild

Betrifft: AW: sorry geht nicht
von: ransi
Geschrieben am: 13.04.2005 17:48:03


      
Hallo johannes
versuchs mal so:
Das unprotect bzw. protect an die markierten stellen.
ungetestet.
Option 
Explicit
Private Sub Worksheet_Calculate()
    
Dim RaBereich1 As Range, RaZelle1 As Range
    
' Bereich der Wirksamkeit AS1
    Set RaBereich1 = Range("G23, I23, K23, M23, O23, Q23")
    
For Each RaZelle1 In RaBereich1
        
If Not Intersect(RaZelle1, RaBereich1) Is Nothing Then
        
'Hier unprotect
            Select Case RaZelle1.Value
                
Case "!"
                    RaZelle1.Interior.ColorIndex = 44
                    
' orange
                Case "0"
                    RaZelle1.Interior.ColorIndex = 36
                    
' hell gelb
            End Select
        
End If
    
Next RaZelle1
    
'Hier protect
    Set RaBereich1 = Nothing
End Sub
ransi 


Bild

Betrifft: AW: sorry geht nicht
von: Hajo_Zi
Geschrieben am: 13.04.2005 17:52:25
Hallo ransi,
im Origial ist es auch fastr an der Stelle. Unprotect kann noch vor die For Next Schleife.
Hallo johannes,
Dieser Code verändert nur die Zelle die im RaBereich stehen da steh kein Offset. Prüfe mal Deine Bedingte Formatierung. Irgendwo jhattest Du geschrieben in G23 wird was eingegeben und in F ändert sich die Farbe.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Bild

Betrifft: Datei zum testen
von: Johannes
Geschrieben am: 13.04.2005 20:03:38
Hallo Hajo,
hallo ransi,
ich habe einen Teil der Datei mit den notwendigen Inhalten hochgeladen - vieleicht wird an dem Beispiel mein Problem klarer:
https://www.herber.de/bbs/user/21113.xls
Vielen dank für Eure Mühe schon jetzt.
Gruß
Johannes
Bild

Betrifft: AW: Datei zum testen
von: Hajo_Zi
Geschrieben am: 13.04.2005 20:11:43
Hallo johannes,
hast Du den Vorschlag von ransi realisiert?
Warum 2x?
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.
Bild

Betrifft: AW: Datei zum testen
von: Hajo_Zi
Geschrieben am: 13.04.2005 20:18:44
Hallo Johannes,
Option Explicit

Private Sub Worksheet_Calculate()
    Dim RaBereich1 As Range, RaZelle1 As Range
    ' Bereich der Wirksamkeit AS1
'    Set RaBereich1 = Range("G24, I24, K24, M24, O24, Q24", "G25, I25, K25, M25, O25, Q25")
    Set RaBereich1 = Union(Range("G24, I24, K24, M24, O24, Q24"), _
        Range("G25, I25, K25, M25, O25, Q25"))
    ActiveSheet.Unprotect ("")
    For Each RaZelle1 In RaBereich1
        If Not Intersect(RaZelle1, RaBereich1) Is Nothing Then
            Select Case RaZelle1.Value
                Case "!"
                    RaZelle1.Interior.ColorIndex = 44
                    ' orange
                Case "0"
                    RaZelle1.Interior.ColorIndex = 36
                    ' hell gelb
            End Select
        End If
    Next RaZelle1
    ActiveSheet.Protect ("")
    Set RaBereich1 = Nothing
End Sub

Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.
Bild

Betrifft: Danke schön
von: Johannes
Geschrieben am: 13.04.2005 20:48:35
Hallo Hajo,
herzlichen Dank für Deine Hilfe. Zur Frage warum zweimal: Es ist ein Ausschnitt aus einer Dokumentation einer fertigungsbegleitenden Qualitätsprüfung, die in diesem Falle zweimal je 8 Stunden Schicht durchgeführt wird.
Gruß
Johannes
Bild

Betrifft: Ist es nicht einfacher, man bezieht das Protect...
von: Luc
Geschrieben am: 13.04.2005 20:50:11
...von Anfang an nur auf das userinterface, liebe Gemeinde? Dann können die Makros doch alle notwendigen Eintragungen vornehmen, nur der Nutzer nicht!
Gruß Luc :-?
Bild

Betrifft: AW: mal wieder bedingte Formatierungen
von: Koenig W.
Geschrieben am: 13.04.2005 17:33:19
Hallo Johannes,
der Blattschutz schützt eben auch vor ungewollten Formatierungen.
Du musst im Code nur zuerst den Blattschutz entfernen und am Schluss wieder setzten.
Unter Protect findest Du in der Hilfe die genaue Syntax (evtl. auch mit Passwort).
Gruss Wilhelm
Bild

Betrifft: sorry geht nicht (siehe oben) owt
von: Johannes
Geschrieben am: 13.04.2005 17:39:50
.
 Bild

Beiträge aus den Excel-Beispielen zum Thema "mal wieder bedingte Formatierungen"