2.4k Aufrufe
Gefragt in Tabellenkalkulation von fedjo Experte (2.2k Punkte)
Hallo Excelexperten,
Nach dem Einfügen in die Aktive Tabelle (Spalte 3) wird die ActiveCell.Offset(0, 2) mit der Tabelle Info").Cells(j, 2) der Inhalt verglichen, ist der Wert unterschiedlich, dann wird er übernommen.

Wenn der Wert übernommen wird sollte er in der Aktiven Tabelle
ActiveCell.Offset(0, 8) farlich ( Font.ColorIndex = 3) gekennzeichnet werden. Wie muß ich den Code verändern?

Gruß
fedjo

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Column = 3 Then 'Spalte C
Dim j As Integer
EndeQ = Worksheets("Info").Cells(Rows.Count, 1).End(xlUp).Row 'Spalte A
For j = 1 To EndeQ

If ActiveCell.Offset(0, 2) = Sheets("Info").Cells(j, 1) Then _
ActiveCell.Offset(0, 8) = Sheets("Info").Cells(j, 2).Value 'Spalte B

Next j
End If

End Sub

9 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
warum nicht
ActiveCell.Offset(0, 8) .Font.ColorIndex = 3
in Deinem Code wird keine Farbe gesetzt.
Ab 2007 sollte nicht mit Index gearbeitet werden, da 4 Mio. Farben.

Gruß Hajo
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Hajo,

If ActiveCell.Offset(0, 2) = Sheets("Info").Cells(j, 1) Then _
ActiveCell.Offset(0, 8).Color = 3 And Sheets("Info").Cells(j, 2).Value 'Spalte B

So funktioniert der Code aber nicht, wie muß er verändert werden.
Ich benutze aber auch immer wieder Excel 2003.

Gruß
fedjo
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
das liegt wohl daran das es keine Farbe 3 gibt. versuche es mit 255

Gruß hajo
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
ActiveCell.Offset(0, 8).Font.ColorIndex = 255 And Sheets("Info").Cells(j, 2).Value

Da komm die Fehlermeldung:
Laufzeitfehler 13
Tpen unverträglich

Gruß
fedjo
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
das verstehe ich nicht was Du da machen willst, ich war davon ausgegangen Du möchtest eine Farbe zuweisen.

Gruß hajo
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Wenn der Wert aus der Tabelle Info übernommen wird, dann sollte in der Aktiven Tabelle (ActiveCell.Offset(0, 8)) der Wert auch farblich gekennzeichnet werden.

Gruß
fedjo
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
ja dazu habe ich einen Vorschlag gemacht, den wolltest Du nicht übernehmen. Da musst Du dann den fragen der Dir den anderen Vorschlag unterbreitet hat. ich hatte dazu schon geschrieben das mir der nicht klar ist.
Gruß Hajo
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
So funktioniert der Code schon, ich dacht es gibt eine einfachere Lösung.

If ActiveCell.Offset(0, 2) = Sheets("Info").Cells(j, 1) Then
ActiveCell.Offset(0, 8) = Sheets("Info").Cells(j, 2).Value
ActiveCell.Offset(0, 8).Font.ColorIndex = 3
End If

Gruß
fedjo
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
was soll da einfacher Gehe Du willst was Prüfen und 2 Aktionen machen. Einfacher geht es wenn Du True und false zuweisen willst.

Gruß Hajo
...