entwickler
Goto Top

wenn die Spalte B nicht gleich Spalte A ist, dass das Feld oder die Zahl in Spalte B rot erscheint

Hallo,

und zwar habe ich ein Excel mit 2 Tabellen,

Tabelle A und Tabelle B

Zu 90% steht in Tabelle A das gleiche wie in Tabelle B sollte das aber nicht der Fall sein, sollte die Zahl in Tabelle B farbig makiert werden.
Kennt ihr da ne Excel Formel oder ein VB Script?^

bitte um antwort

mfg

alex

Content-Key: 56447

Url: https://administrator.de/contentid/56447

Printed on: April 27, 2024 at 19:04 o'clock

Member: oblivionplanb
oblivionplanb Apr 12, 2007 at 09:06:22 (UTC)
Goto Top
Abhilfe wird die bedingte Formatierung schaffen:

Infors dazu findest du hier: http://www.excel-inside.de/index.htm?/funktionen/207_sonstige/207002.ht ...
Member: bastla
bastla Apr 12, 2007 at 09:24:46 (UTC)
Goto Top
Hallo Entwickler!

Sieht wie ein klassischer Fall für eine bedingte Formatierung aus, scheitert aber an der Beteiligung einer zweiten Tabelle, daher VBA:
Sub Abgleich()
Const Vergleichstabelle As String = "Tabelle1"  
For Each Zelle In Selection
    If Zelle.Value <> Worksheets(Vergleichstabelle).Cells(Zelle.Row, Zelle.Column).Value Then
        Zelle.Font.ColorIndex = 7
    End If
Next
End Sub
Aus Vereinfachungsgründen habe ich den Namen der Vergleichstabelle ("Tabelle1") fest verdrahtet - bitte einfach anpassen.

Das Progrämmchen vergleicht die Werte der markierten Zellen der einen Tabelle mit den gleichen Zelladressen der Vergleichstabelle und stellt die Schriftfarbe bei Ungleichheit auf "Magenta" (=7; für Rot zB 3 verwenden).

HTH
bastla
Member: Entwickler
Entwickler Apr 12, 2007 at 09:28:16 (UTC)
Goto Top
Yep,

danke für die raschen antworten, werde dies gleich mal testen

lg face-smile
Member: bastla
bastla Apr 12, 2007 at 09:53:45 (UTC)
Goto Top
... damit's mit der Farbauswahl einfacher wird:
Sub FarbtabelleErstellen() 'als neues erstes Blatt der Mappe  
Const FarbTab As String = "Farbtabelle"  
Sheets(1).Select
Sheets.Add
ActiveSheet.Name = FarbTab
For i = 0 To 56
    Sheets(FarbTab).Cells(i + 1, 1).Value = i
    With Sheets(FarbTab).Cells(i + 1, 2)
        .Value = "Testtext"  
        .Font.ColorIndex = i
    End With
Next
End Sub

Grüße
bastla
Member: Entwickler
Entwickler Apr 20, 2007 at 07:31:28 (UTC)
Goto Top
Hi @ all.....

leider komm ich nicht klar, könnt ihr mir bitte einfach den genauen Text reinposten, was ich ins vb kopieren muss?
Tabellen sind A und B

danke

mfg
Member: bastla
bastla Apr 20, 2007 at 08:11:26 (UTC)
Goto Top
Hallo Entwickler!

Eigentlich solltest Du die Version oben direkt verwenden können (bis auf den Tabellennamen), aber bitte:
Sub Abgleich()
Const Vergleichstabelle As String = "A"  
For Each Zelle In Selection
    If Zelle.Value <> Worksheets(Vergleichstabelle).Cells(Zelle.Row, Zelle.Column).Value Then
        Zelle.Font.ColorIndex = 3
    End If
Next
End Sub
Wenn Du jetzt in Tabelle "B" die zu überprüfenden Zellen (oder auch die gesamte Tabelle) markierst und dann das Makro startest, werden jeweils aus Tabelle "A" die Vergleichswerte herangezogen. Das andere Makro (für eine Farbtabelle) war eher Spielerei ...

Willst Du auf Nummer Sicher gehen, markierst Du die gesamte Tabelle "B" und verwendest statt
Zelle.Font.ColorIndex = 3
besser
Zelle.Interior.ColorIndex = 3
- durch das Einfärben des Hintergrundes erkennst Du auch Zellen, die in "B" leer sind, aber in "A" einen Inhalt haben.

Grüße
bastla

[Edit] Im Vergleich zur ursprünglichen Lösung Farbe auf "Rot", Farbwert 3, verändert, um zumindest damit dem Threadtitel gerecht zu werden. face-wink [/Edit]
Member: Entwickler
Entwickler Apr 20, 2007 at 08:14:43 (UTC)
Goto Top
Hoi, das Problem is das ich nicht 2 Tabellen sondern 2 Spalten habe face-smile
Member: bastla
bastla Apr 20, 2007 at 08:21:40 (UTC)
Goto Top
@Entwickler

Da ich dazu neige, der Beschreibung des Problems mehr zu glauben als dem Titel des Beitrages, war meine Lösung auf Tabellen ausgerichtet ...

Wenn es nur um Spalten innerhalb einer Tabelle geht, dann natürlich "Bedingte Formatierung", zB für B2: Zelle markieren, "Format/Bedingte Formatierung.../Bedingung1/Formel ist":
=A2<>B2
und über "Format..." die gewünschte Formatierung vornehmen. Danach mit "Format übertragen" dieses Format allen anderen Zellen in der Spalte B zuweisen.

Grüße
bastla
Member: Entwickler
Entwickler Apr 20, 2007 at 08:29:24 (UTC)
Goto Top
Problem gelöst danke

= WENN($A1 <> $B1; WAHR; FALSCH)