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"