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

farbformat

farbformat
28.09.2007 16:59:00
Sonja
Hallo Excelfreunde,
ich habe wieder einmal ein Farbformat Problem.
Ich habe eine Datei mit zwei Tabellen "Tabelle1" und "Tabelle2"
In Tabelle2 habe ich in Zelle A1 diese Formel
=WENN(Tabelle1!A1="#";"";WENN(Tabelle1!A1 Wenn ich jetzt in die Tabelle1 Zelle A1 gehe und den Buchstaben "K" eingebe,
dann soll in der Tabelle2 die Zelle A1 farblich hinterlegt werden. Dazu habe ich
folgenden Code in die Tabelle2 eingefügt.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
ActiveSheet.Protect Password:="Passwort", UserInterfaceOnly:=True
ActiveSheet.EnableSelection = xlUnlockedCells
'Wenn mehr als eine Zelle markiert wurde dann Makro beenden
If Target.Cells.Count > 1 Then Exit Sub
Select Case Target.Value
'bei Buchstabe "K" Hintergrundfarbe Rosa
Case "K", "k"
Target.Interior.ColorIndex = 39
'bei Buchstabe "DR" Hintergrundfarbe Blassblau
Case "DR", "Dr"
Target.Interior.ColorIndex = 37
'kein Buchstabe, keine Hintergrundfarbe
Case Else
Target.Interior.ColorIndex = 2
End Select
'Beginn der Schriftfarbe
Select Case Target.Value
'bei Buchstabe "DR" Schriftfarbe
Case "DR"
Target.Font.ColorIndex = 3
'bei Buchstabe "K" Schriftfarbe Rot
Case "K"
Target.Font.ColorIndex = 3
'kein Buchstabe, keine Schriftfarbe schwarz
Case Else
Target.Font.ColorIndex = 1
End Select
End Sub


Aber der Code funktioniert nur, wenn ich direkt in der Tabelle2 den Buchstaben "K" eingebe.
Könnt Ihr mir weiterhelfen?
Viele Grüße
Sonja

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: farbformat
28.09.2007 17:53:13
Beverly
Hi Sonja,
schreibe den Code in das Codefenster der Tabelle1

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
ActiveSheet.Protect Password:="Passwort", UserInterfaceOnly:=True
ActiveSheet.EnableSelection = xlUnlockedCells
'Wenn mehr als eine Zelle markiert wurde dann Makro beenden
If Target.Count > 1 Then Exit Sub
With Worksheets("Tabelle2").Cells(Target.Row, Target.Column)
Select Case UCase(Target)
'bei Buchstabe "K" Hintergrundfarbe Rosa/Schriftfarbe Rot
Case "K"
.Interior.ColorIndex = 39
.Font.ColorIndex = 3
'bei Buchstabe "DR" Hintergrundfarbe Blassblau/Schriftfarbe
Case "DR"
.Interior.ColorIndex = 37
.Font.ColorIndex = 3
'kein Buchstabe, keine Hintergrundfarbe/Schriftfrabe Schwart
Case Else
.Interior.ColorIndex = 2
.Font.ColorIndex = 1
End Select
End With
End Sub


________________________________________

Anzeige
AW: farbformat
28.09.2007 18:18:00
Sonja
Hallo Beverly,
danke funktioniert super !!!
Gruß Sonja

AW: farbformat
28.09.2007 20:24:07
Sonja
Hallo Beverly
Was muß ich im Code ändern damit sich die Zellfarbe in Tabelle2 egal in welcher
Zelle ich meine Formel habe ändert?
Jetzt ist es so, das wenn ich in Tabelle1 Zelle A1 den Buchstaben "K" eingebe,
dann wird die Zellfarbe in Tabelle2 Zelle A1 eingefärbt.
Gruß Sonja

AW: farbformat
28.09.2007 21:11:00
Beverly
Hi Sonja,
ich verstehe nicht ganz - mit dem Code wird immer das Gegenstück der entsprechnden Zelle der Tabelle1 in Tabelle2 gefärbt. Das war es auch, was in deinem Code vor sich gehen sollte, so wie er geschrieben war, nur dass du ihn vom Prinzip her in der falschen Tabelle angesiedelt hattest. Wenn das falsch ist, dann beschreibe doch bitte noch einmal genau, was du erreichen möchtest.
Bis später,
Karin

Anzeige
AW: farbformat
28.09.2007 21:43:00
Sonja
Hallo Karin
Ich bräuchte nicht unbedingt das Gegenstück.
Wenn ich in Tabelle1 Zelle A1 den Buchstaben "K" eingebe, dann wird in Tabelle2 A1 die Zelle markiert.
Meine Formel
=WENN(Tabelle1!A1="#";"";WENN(Tabelle1!A1<"0";"";Tabelle1!A1))
könnte aber auch in Tabelle2 Zelle B2 oder B5 usw. stehen und dort in dieser Zelle sollte die Farbformatierung gesetzt werden.
Danke für die Hilfe
Sonja

AW: farbformat
28.09.2007 21:59:00
Beverly
Hi Sonja,
wenn ich das richtig verstehe, steht die Formel also gleichzeitig in mehreren Zellen? Oder sehe ich das falsch? Und woher soll Excel nun wissen, welche der Zellen mit der Formel gefärbt werden soll, da sie doch in mehreren steht?
Bis später,
Karin

Anzeige
AW: farbformat
28.09.2007 22:09:37
Sonja
Hallo Karin
Meine Tabelle2 würde dann so aussehen
=WENN(Tabelle1!A1="#";"";WENN(Tabelle1!A1<"0";"";Tabelle1!A1))~f~
=WENN(Tabelle1!B1="#";"";WENN(Tabelle1!B1<"0";"";Tabelle1!B1))
=WENN(Tabelle1!C1="#";"";WENN(Tabelle1!C1<"0";"";Tabelle1!C1)) usw.
Gruß Sonja

AW: farbformat
29.09.2007 08:12:11
Beverly
Hi Sonja,
und in welchen Zellen stehen die Formeln?
Bis später,
Karin

AW: farbformat
29.09.2007 09:16:00
Sonja
Hallo Karin
diese formeln möchte ich in tabelle2 ohne an eine bestimmte zelle
gebunden zu sein einfügen.
gruß sonja

Anzeige
AW: farbformat
29.09.2007 11:55:58
Beverly
Hi Sonja,
dann sollte es mit diesem Code funktionieren

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim raZelle As Range
ActiveSheet.Protect Password:="Passwort", UserInterfaceOnly:=True
ActiveSheet.EnableSelection = xlUnlockedCells
'Wenn mehr als eine Zelle markiert wurde dann Makro beenden
If Target.Count > 1 Then Exit Sub
With Worksheets("Tabelle2")
For Each raZelle In .UsedRange
If raZelle  "" Then
Select Case UCase(raZelle.Value)
'bei Buchstabe "K" Hintergrundfarbe Rosa/Schriftfarbe Rot
Case "K"
raZelle.Interior.ColorIndex = 39
raZelle.Font.ColorIndex = 3
'bei Buchstabe "DR" Hintergrundfarbe Blassblau/Schriftfarbe
Case "DR"
raZelle.Interior.ColorIndex = 37
raZelle.Font.ColorIndex = 3
'kein Buchstabe, keine Hintergrundfarbe/Schriftfrabe Schwart
Case Else
raZelle.Interior.ColorIndex = 2
raZelle.Font.ColorIndex = 1
End Select
End If
Next raZelle
End With
End Sub


Fragen:
1. weshalb wird zu Beginn des Codes der Blattschutz gesetzt?
2. weshalb steht in deiner Formel die Null in Anführungszeichen?
Bis später,
Karin

Anzeige
AW: farbformat
29.09.2007 12:50:40
Sonja
Hallo Karin
Genau das habe ich gesucht.
Vielen, vielen Dank für die Hilfe
Gruß Sonja

AW: farbformat -> bedingte Formatierung
28.09.2007 22:23:40
Daniel
HI
warum aufwendig mit Makro, wenns auch einfacher mit bedingter Formatierung geht?
das einzige Problem ist, daß der Zellebezug für die Bed.Formatierung in einer anderen Tabelle liegt, was sie nicht so mag.
Wenn man aber den Zellbezug als NAMEN definiert, dann gehts.
Du könntest also folgendes machen:
1. Folgenden NAMEN (bspw Tab1) für den Zellbereich der Tabelle1 vergeben:

=Tabelle1!$1:$65536


2. in Tabelle2 dann folgende Formel für die bedingte Formatierung für Zelle A1 verwenden (die Bedingung ist so geschrieben, daß sie auch für andere Zellen verwendet werden kann.)


=INDEX(Tab1;ZEILE();SPALTE())="K"


weitere Vorteil ist, daß das ganze unabhängig von einem bestehenden Zellschutz funktioniert (wenns denn mal eingegeben ist.
Gruß, Daniel
https://www.herber.de/bbs/user/46429.xls

Anzeige
AW: farbformat -> bedingte Formatierung
28.09.2007 22:51:29
Sonja
Hallo Daniel
Deine Formel funktioniert, aber ich brauche mehr als drei Formatierungen.
Gruß Sonja

AW: farbformat -> bedingte Formatierung
28.09.2007 23:29:25
Daniel
HI
das ist aus deiner Fragestellung aber nicht ersichtlich, da sind es nur 2 bedingungen (wenn man "ohne" mal nicht mitzählt.)
btw. "ohne Hintergrundfarbe" ist -4142, die 2 steht für Weiß als Hintergrundfarbe der Zelle.
den Unterschied siehst du, wenn du mal unter FORMAT - BLATT - HINTERGRUND ein Bild als Hintergrund einstellst, oder mal einen kleinen Blick auf die Rahmen von der Zellen wirfst (dazu müssen aber mehrere zusammenhängende Zellen die Hintergrundfarbe 2 haben)
Gruß, Daniel

Anzeige
AW: farbformat
29.09.2007 12:20:29
Daniel
Hi
nochmal ne andere Lösung:
dein Ansatz ist schon mal grundsätzlich falsch.
Auslösendes Ereignis für das Färben einer Zelle in Tabelle2 ist ja eine Eingabe in Tabelle1, also brauchst du ein Event-Gesteuertes Makro in Tabelle1 und nicht in Tabelle2
probier mal folgenden Code für TABELLE1: (falls du nen Blattschutz auf Tabelle2 hast, musst du diesen noch aufheben, falls er nicht mit UserInterfaceOnly:=true gesetzt wurde)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zelle As Range
For Each Zelle In Target
With Sheets("Tabelle2").Cells(Zelle.Row, Zelle.Column)
If .FormulaR1C1 = "=IF(Tabelle1!RC=""#"","""",IF(Tabelle1!RC


gruß, Daniel

Anzeige
AW: farbformat
29.09.2007 13:01:00
Sonja
Hallo Daniel
Ich habe den Code von Karin genommen funktioniert bei mir wunderbar.
Auch Dir vielen Dank für die Hilfe
Bis zum nächsten mal
Gruß Sonja

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige