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-ID: 56447

Url: https://administrator.de/forum/wenn-die-spalte-b-nicht-gleich-spalte-a-ist-dass-das-feld-oder-die-zahl-in-spalte-b-rot-erscheint-56447.html

Ausgedruckt am: 22.12.2024 um 20:12 Uhr

oblivionplanb
oblivionplanb 12.04.2007 um 11:06:22 Uhr
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 ...
bastla
bastla 12.04.2007 um 11:24:46 Uhr
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
Entwickler
Entwickler 12.04.2007 um 11:28:16 Uhr
Goto Top
Yep,

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

lg face-smile
bastla
bastla 12.04.2007 um 11:53:45 Uhr
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
Entwickler
Entwickler 20.04.2007 um 09:31:28 Uhr
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
bastla
bastla 20.04.2007 um 10:11:26 Uhr
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]
Entwickler
Entwickler 20.04.2007 um 10:14:43 Uhr
Goto Top
Hoi, das Problem is das ich nicht 2 Tabellen sondern 2 Spalten habe face-smile
bastla
bastla 20.04.2007 um 10:21:40 Uhr
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
Entwickler
Entwickler 20.04.2007 um 10:29:24 Uhr
Goto Top
Problem gelöst danke

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