Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
244to248
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
244to248
244to248
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

bedingte formatierung

bedingte formatierung
15.04.2003 13:45:04
Matthes
ich hätte mal ne frage ich hab jetzt hier folgendes makro gefunden:

Sub nachtraeglich()
' erstellt von Hajo.Ziplies@web.de 14.12.02
' SCHRIFT
' für Hintergrund RaZelle.Interior.ColorIndex
Dim RaBereich As Range, RaZelle As Range
' Bereich der Wirksamkeit
Set RaBereich = Range("B3:C20,D1:D7")
' ActiveSheet.Unprotect
For Each RaZelle In Selection
' überprüfen ob Zelle im vorgegebenen Bereich
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
' Kreuz entfernen
RaZelle.Borders(xlDiagonalDown).LineStyle = xlNone
RaZelle.Borders(xlDiagonalUp).LineStyle = xlNone
Select Case RaZelle.Value
Case "1"
' mal eine andere Variante mit Kreuz und Farbe
RaZelle.Borders(xlDiagonalDown).LineStyle = xlContinuous
RaZelle.Borders(xlDiagonalDown).Weight = xlThick
RaZelle.Borders(xlDiagonalUp).LineStyle = xlContinuous
RaZelle.Borders(xlDiagonalUp).Weight = xlThick
RaZelle.Font.ColorIndex = 26
Case "2"
RaZelle.Font.ColorIndex = 24
Case "3"
RaZelle.Font.ColorIndex = 3
' usw.
Case Else
RaZelle.Font.ColorIndex = 0
End Select
End If
Next RaZelle
' ActiveSheet.Protect
Set RaBereich = Nothing
End Sub

aber in meinen zellen steht z.B. mal "test2" mal "test198" oder "test176" wenn ich nun z.B. Case "test" RaZelle.Font.ColorIndex = 3 schreibe färben sich die zellen nicht weil ja nicht nur das wort "test" drinsteht sondern auch noch zahlen ich möchte aber alle zellen wo das wort vorkommt einfärben, geht das ?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: bedingte formatierung
15.04.2003 15:17:37
ChrisL

Hallo Matthes

Versuch mal diesen Teil hier zu ersetzen...
Select Case RaZelle.Value
Case "1"
' mal eine andere Variante mit Kreuz und Farbe
RaZelle.Borders(xlDiagonalDown).LineStyle = xlContinuous
RaZelle.Borders(xlDiagonalDown).Weight = xlThick
RaZelle.Borders(xlDiagonalUp).LineStyle = xlContinuous
RaZelle.Borders(xlDiagonalUp).Weight = xlThick
RaZelle.Font.ColorIndex = 26
Case "2"
RaZelle.Font.ColorIndex = 24
Case "3"
RaZelle.Font.ColorIndex = 3
' usw.
Case Else

Statt mit Select Case mit If... Like ... Then probieren.

Also z.B.

If RaZelle.Value = 1 Then
' mal eine andere Variante mit Kreuz und Farbe
RaZelle.Borders(xlDiagonalDown).LineStyle = xlContinuous
RaZelle.Borders(xlDiagonalDown).Weight = xlThick
RaZelle.Borders(xlDiagonalUp).LineStyle = xlContinuous
RaZelle.Borders(xlDiagonalUp).Weight = xlThick
RaZelle.Font.ColorIndex = 26
End If

If RaZelle.Value = 2 Then RaZelle.Font.ColorIndex = 24
If RaZelle.Value = 3 Then RaZelle.Font.ColorIndex = 3
' usw.

If RaZelle.Value Like "*" & test & "*" Then
...
End If

Gruss
Chris

Anzeige
Re: bedingte formatierung
16.04.2003 11:18:16
Matthes

hallo chris, danke für die antwort

aber es funktioniert nicht, davon abgesehen das ich sie ja (wenn ich das richtig sehe) nun doch alle eintragen müßte , das würde ja per hand schneller gehen

Re: bedingte formatierung
16.04.2003 11:18:17
Matthes

hallo chris, danke für die antwort

aber es funktioniert nicht, davon abgesehen das ich sie ja (wenn ich das richtig sehe) nun doch alle eintragen müßte , das würde ja per hand schneller gehen

Re: bedingte formatierung
16.04.2003 11:22:21
ChrisL

Hallo Matthes

If RaZelle.Value Like "*" & test & "*" Then RaZelle.Font.ColorIndex = 24

bzw.
If RaZelle.Value Like "*test*" Then RaZelle.Font.ColorIndex = 24

Damit werden alle Zellen in denen das Wort "test" vorkommt eingefärbt. Verstehe das Problem nicht.

Gruss
Chris


Anzeige
Re: bedingte formatierung
16.04.2003 13:02:23
Matthes

hallo chris nochmal danke für deine bemühungen

bei mir klappt das irgendwie nicht, ich kopier dir mal den quelltext rein

Sub nachtraeglich()
' erstellt von Hajo.Ziplies@web.de 14.12.02
' SCHRIFT
' für Hintergrund RaZelle.Interior.ColorIndex
Dim RaBereich As Range, RaZelle As Range
' Bereich der Wirksamkeit
Set RaBereich = Range("B3:B20000")
' ActiveSheet.Unprotect
For Each RaZelle In Selection
' überprüfen ob Zelle im vorgegebenen Bereich
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
' Kreuz entfernen
RaZelle.Borders(xlDiagonalDown).LineStyle = xlNone
RaZelle.Borders(xlDiagonalUp).LineStyle = xlNone
Select Case RaZelle.Value
Case "1"
' mal eine andere Variante mit Kreuz und Farbe
RaZelle.Borders(xlDiagonalDown).LineStyle = xlContinuous
RaZelle.Borders(xlDiagonalDown).Weight = xlThick
RaZelle.Borders(xlDiagonalUp).LineStyle = xlContinuous
RaZelle.Borders(xlDiagonalUp).Weight = xlThick
RaZelle.Font.ColorIndex = 26
If RaZelle.Value = Test Then RaZelle.Font.ColorIndex = 24
If RaZelle.Value Like "*Test*" Then RaZelle.Font.ColorIndex = 24
' usw.
Case Else
RaZelle.Font.ColorIndex = 0
End Select
End If
Next RaZelle
' ActiveSheet.Protect
Set RaBereich = Nothing
End Sub

kannste mir sagen wo der fehler liegt ?

Anzeige
Re: bedingte formatierung
16.04.2003 13:09:21
ChrisL

Hallo Matthes

Habe es jetzt nicht getestet, aber würde mal vermuten es liegt daran, dass du die If...Anweisung innerhalb der Select Case Anweisung hast. Damit wird die If...Abfrage nur ausgeführt wenn Case "1" vorhanden ist. Entweder wie anfänglich vorgeschlagen die Case Anweisungen durch If Anweisungen ersetzen oder die If..Like Anweisung ausserhalb der Case Anweisung, d.h. vor Select Case oder nach End Select.

Gruss
Chris

Re: bedingte formatierung
16.04.2003 13:46:21
Matthes

langsam komm ich mir blöd vor ;)

hat leider nicht geklappt, habs vor und hinter der case einweisung versucht, ich habs auch so gemacht das es case "1" gibt aber die if anweisung wurde trotzdem nicht ausgeführt

gruss matthes

Anzeige
Re: bedingte formatierung
16.04.2003 14:12:53
ChrisL

Hallo Matthes

getestet unter Excel 97:

Option Explicit

Sub nachtraeglich()
' erstellt von Hajo.Ziplies@web.de 14.12.02
' SCHRIFT
' für Hintergrund RaZelle.Interior.ColorIndex
Dim RaBereich As Range, RaZelle As Range
' Bereich der Wirksamkeit
Set RaBereich = Range("B3:B20000")
' ActiveSheet.Unprotect
For Each RaZelle In Selection
' überprüfen ob Zelle im vorgegebenen Bereich
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
' Kreuz entfernen
RaZelle.Borders(xlDiagonalDown).LineStyle = xlNone
RaZelle.Borders(xlDiagonalUp).LineStyle = xlNone
Select Case RaZelle.Value
Case "1"
' mal eine andere Variante mit Kreuz und Farbe
RaZelle.Borders(xlDiagonalDown).LineStyle = xlContinuous
RaZelle.Borders(xlDiagonalDown).Weight = xlThick
RaZelle.Borders(xlDiagonalUp).LineStyle = xlContinuous
RaZelle.Borders(xlDiagonalUp).Weight = xlThick
RaZelle.Font.ColorIndex = 26
' usw.
Case Else
RaZelle.Font.ColorIndex = 0
End Select
If RaZelle.Value Like "*test*" Then RaZelle.Font.ColorIndex = 24
End If
Next RaZelle
' ActiveSheet.Protect
Set RaBereich = Nothing
End Sub


Gruss
Chris

PS: nicht vergessen den Bereich zu selektieren

Anzeige
Re: bedingte formatierung
16.04.2003 18:42:31
Matthes

Danke es hat endlich geklappt lag wohl daran das ich
Option Explicit vergessen habe oben hinzuschreiben

gruß matthes

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige