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

Bedingte Formatierung

Bedingte Formatierung
Heiko
Hi Leute
ich habe hier den VBA Code von Hajo und die Bereiche geändert. Jetzt bekomme ich eine fehlermeldung. "Die Methode Range für das Objekt Worksheet ist fehlgeschlagen". Könnte mir bitte einer helfen. Ich weis nämlich nicht was ich falsch gemacht habe.
Gruß Heiko
Option Explicit ' Variablendefinition erforderlich
Private Sub Worksheet_Change(ByVal Target As Range)
'* H. Ziplies                                     *
'* 06.08.10                                       *
'* erstellt von HajoZiplies@web.de                *
'* http://Hajo-Excel.de/
' Füllfarbe
' für Schrift RaZelle.Font.ColorIndex
Dim RaBereich As Range                  ' Variable für Bereich
Dim RaZelle As Range                    ' Variable für Zelle
' Bereich der Wirksamkeit
Set RaBereich = Range("A1:K1, A3:K3, A5:K5")
' noch mehr Bereiche
'Set RaBereich = Union(Range("C11:AG11 , C13:AG13, C15:AG15 , C17:AG17"), _
'    Range("C35:AE35, C37:AE37, C43:AG43, C45:AG45 , C47:AG47 , C49:AG49"), _
'    Range("C67:AF67 , C69:AF69 , C75:AG75 , C77:AG77 , C79:AG79 , C81:AG81"), _
'    Range("C99:AF99 , C101:AF101, C107:AG107 , C109:AG109 , C111:AG111"), _
'    Range("C127:AG127 , C129:AG129 , C131:AG131 , C133:AG133 , C139:AF139"), _
'    Range("C155:AG155, C157:AG157 , C159:AG159 , C161:AG161 , C163:AG163"), _
'    Range("C179:AF179 , C181:AF181, C187:AG187 , C189:AG189 , C191:AG191"))
' ab Vesion XP braucht der Schutz nicht aufgehoben werden
' Formatierung bei Schutz kann über Dialog Schutz eingestellt werden
' Zelle die in dem Bereich liegen auf die Variable schreiben
' damit werden nur noch die Zellen bearbeitet die im vorgegeben Bereich liegen
' jede Zelladresse ist einzeln angegeben
Set RaBereich = Intersect(RaBereich, Range(Target.Address))
If Not RaBereich Is Nothing Then
'ActiveSheet.Unprotect ("Passwort")
For Each RaZelle In RaBereich
With RaZelle
Select Case UCase(.Value)   ' Umwandlung der Eingabe in Großbuchstaben
Case "1"
' Füllfarbe Schwarz
.Interior.Color = 0
' Schriffarbbe weiß
.Font.Color = 16777215
' Zellenformat Standard
.NumberFormat = "General"
Case "2"
' Füllfarbe Gelb
.Interior.Color = 65535
' Schriffarbe automatisch
.Font.ColorIndex = xlAutomatic
' Zellenformat Standard
.NumberFormat = "General"
Case "3"
' Füllfarbe Rot
.Interior.Color = 255
' Scgriftfarbe Weiß
.Font.Color = 16777215
' Zellformat nicht sichtbar
.NumberFormat = ";;;"
Case "4"
' Füllfarbe Grün
.Interior.Color = 65280
' Schriftfarbe automatisch
.Font.ColorIndex = xlAutomatic
' Zellenformat Standard
.NumberFormat = "General"
Case "5"
' Füllfarbe blau
.Interior.Color = 16711680
' Schriftfarbe Grau - 25%
.Font.Color = 12632256
' Zellenformat Standard
.NumberFormat = "General"
Case Else
' keine Füllfarbe
.Interior.ColorIndex = xlNone
' Schriftfarbe automatisch
.Font.ColorIndex = xlAutomatic
' Zellenformat Standard
.NumberFormat = "General"
End Select
End With
Next RaZelle
'ActiveSheet.protect ("Passwort")
End If
Set RaBereich = Nothing                 ' Variable leeren
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Bedingte Formatierung
16.01.2011 13:04:54
Hajo_Zi
Hallo Heiko,
Du hast den Code schon unter der Tabele angeordnet, nicht Modul oder DieseArbeitsmappe?

AW: Bedingte Formatierung
16.01.2011 13:13:18
Heiko
Hi
ja das hab ich. Hab ihn in Tabelle1 reinkopiert und dann nur die Bereiche geändert.
Gruß Heiko
AW: Bedingte Formatierung
16.01.2011 13:10:28
Werner
Hallo Heiko
bei mir (Excel 2003) läuft es perfekt.
In Zeile 7 muss der * noch mit dem Hochkommaversehen werden ( '* )
Tschüs Werner
AW: Bedingte Formatierung
16.01.2011 13:48:01
Heiko
Hi
ich weis jetzt was falsch ist. Die Formatierung ändert sich erst wenn ich in die Zelle was eintrage. Bei mir stehen aber schon werte drin. Kann man den Code nicht so umstellen das die Formatierung Automatich abläuft zb. Aktualisieren?
Gruß Heiko
Anzeige
AW: Bedingte Formatierung
16.01.2011 14:46:54
Heiko
Hi
ich hab hier einen Code der das macht. Der macht das aber bei jeder eingabe. Ist es möglich das man den Code so umstellt das ich einen Button drücke das dann diese Tabelle Aktualisiert.
Gruß Heiko
Private Sub Worksheet_Calculate()
'   diese Variante kostet natürlich Rechenleistung
'   da bei jeder Eingabe der Bereich Formatiert wird
'   Fülfarbe
'   für Schrift RaZelle.Font.ColorIndex
Dim raBereich As Range, raZelle As Range
' Bereich der Wirksamkeit
'    Set raBereich = Range("C3:Y33")
'   noch mehr Bereiche
Set raBereich = Union(Range("D4:AH4"), Range("D7:AF7"), Range("D10:AH10"), Range("D13:AG13") _
, Range("D16:AH16"), Range("D19:AG19"), _
Range("D22:AH22"), Range("D25:AH25"), Range("D28:AG28"), Range("D31: _
AH31"), Range("D34:AG34"), Range("D37:AH37"))
'   ab Vesion XP braucht der Schutz nicht aufgehoben werden
'   Formatierung bei Schutz kann über Dialog Schutz eingestellt werden
'    ActiveSheet.Unprotect Password:="merlin"
For Each raZelle In raBereich
If Not Intersect(raZelle, raBereich) Is Nothing Then
Select Case raZelle.Value
Case "4"
' hellgrün
raZelle.Interior.ColorIndex = 45
Case "5"
' helltürkis
raZelle.Interior.ColorIndex = 36
Case Else
' Keine
raZelle.Interior.ColorIndex = xlNone
End Select
End If
Next raZelle
'ActiveSheet.Protect Password:="merlin"
Set raBereich = Nothing
End Sub

Anzeige
AW: Bedingte Formatierung
16.01.2011 15:27:32
Hajo_Zi
Hallo Heiko,
Option Explicit
Sub Heiko()
'* H. Ziplies                                     *
'* 16.01.11                                       *
'* erstellt von HajoZiplies@web.de                *
'* http://Hajo-Excel.de/
' Füllfarbe
' für Schrift RaZelle.Font.ColorIndex
Dim RaBereich As Range                  ' Variable für Bereich
Dim RaZelle As Range                    ' Variable für Zelle
' Bereich der Wirksamkeit
Set RaBereich = Range("A1:K1, A3:K3, A5:K5")
For Each RaZelle In RaBereich
With RaZelle
Select Case UCase(.Value)   ' Umwandlung der Eingabe in Großbuchstaben
Case 1
' Füllfarbe Schwarz
.Interior.Color = 0
' Schriffarbbe weiß
.Font.Color = 16777215
' Zellenformat Standard
.NumberFormat = "General"
Case 2
.Interior.Color = 65535
.Font.ColorIndex = xlAutomatic
.NumberFormat = "General"
Case 3
.Interior.Color = 255
.Font.Color = 16777215
.NumberFormat = ";;;"
Case 4
.Interior.Color = 65280
.Font.ColorIndex = xlAutomatic
.NumberFormat = "General"
Case 5
.Interior.Color = 16711680
.Font.Color = 12632256
.NumberFormat = "General"
Case Else
.Interior.ColorIndex = xlNone
.Font.ColorIndex = xlAutomatic
.NumberFormat = "General"
End Select
End With
Next RaZelle
Set RaBereich = Nothing                 ' Variable leeren
End Sub

Anzeige
AW: Bedingte Formatierung
16.01.2011 15:39:34
Heiko
Hallo Hajo
danke für deine hilfe. Das ist genau das richtige. Danke
mfg Heiko

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige