Gleicher Text bestimmte Farbe

Hallo,
brauche mal wieder etwas Hilfe.
Die Spalte D einer Tabelle (Exel 2000) wird mit 6 Verschiedenen
Wörtern aus eine ComboBox gefüllt. Jedes Wort soll automatisch
eine bestimmte Textfarbe bekommen.

Hier mein Makro im Modul Tabelle2:

Private Sub Worksheet_Change2(ByVal Target As Range)
Select Case ActiveCell.Value
ActiveCell.Font.ColorIndex = 2
Case „Schüler“
ActiveCell.Font.ColorIndex = 3
Case „Jugend passiv“
ActiveCell.Font.ColorIndex = 4
Case „Jugend aktiv“
ActiveCell.Font.ColorIndex = 5
Case „Schützen passiv“
ActiveCell.Font.ColorIndex = 6
Case „Schützen aktiv“
ActiveCell.Font.ColorIndex = 7
Case „Damen“

End Select
End Sub

Mit „ActiveCell“ funzt das nicht.
Weiss jemand eine andere Lösung?

Gruß Skaletti!

Hallo, Skaletti.

Die Spalte D
Mit „ActiveCell“ funzt das nicht.

Ersetze ‚ActiveCell‘ durch ‚Cells(Target.Row, 4)‘, dann müßte es gehen.

VG
Carsten

Hallo, Skaletti.

Die Spalte D
Mit „ActiveCell“ funzt das nicht.

Oder aber ‚ActiveCell‘ durch ‚Cells(Selection.Row, 4)‘ ersetzen, das ist vielleicht auch eine Möglichkeit.

VG
Carsten

Hallo Carsten,
danke für die schnelle Antwort.
Habe den Code geändert wie du geschrieben hast.
Ich bin VBA Anfänger und baue ab und zu noch Fehler ein.
So funzt es noch nicht.
Kompilieren funktioniert ohne Fehlermeldung.
Die Tabelle beginnt erst in Zeile 3. In Zeile 1+2 sind
Überschriften.In Spalte A fortlaufende Nummern.

Hier der jetzige Code:

Private Sub Worksheet_Change2(ByVal Target As Range)
Select Case Cells(Selection.Row, 4).Value
Case „Schüler“
Cells(Selection.Row, 4).Font.ColorIndex = 3
Case „Jugend passiv“
Cells(Selection.Row, 4).Font.ColorIndex = 4
Case „Jugend aktiv“
Cells(Selection.Row, 4).Font.ColorIndex = 5
Case „Schützen passiv“
Cells(Selection.Row, 4).Font.ColorIndex = 6
Case „Schützen aktiv“
Cells(Selection.Row, 4).Font.ColorIndex = 7
Case „Damen“
Cells(Selection.Row, 4).Font.ColorIndex = 8
End Select
End Sub

Hallo Skaletti,

Ich bin VBA Anfänger und baue ab und zu noch Fehler ein.

*grien*, meinst du das läßt nach wenn man glaubt Vba ein bißchen zu kennen ? Nö :smile:

So funzt es noch nicht.

Sehr detaillierte Fehlerbeschreibung.

Lade mal eine Beispielmappe hoch mit FAQ:2606

Gruß
Reinhard

Hi Reinhard,
hier der Link mit der Datei.

http://www.hostarea.de/server-05/Mai-e9e7a12cd2.xls

In Tabelle 1 „Anmeldungsliste“ werden die Daten über eine Userform
eingegeben, und erscheinen gleichzeitig in der Tabelle 3
„Ergebniserfassung“.Farbig werden brauchen nur die Texte in
Tabelle 3 Spalte D. Kann aber auch in Tabelle 1 geschehen.
Ziel ist einem Anwender die Eingabe in die richtige Tabelle
zu erleichtern.

Gruß Skaletti!

http://www.hostarea.de/server-05/Mai-e9e7a12cd2.xls

In Tabelle 1 „Anmeldungsliste“ werden die Daten über eine
Userform
eingegeben, und erscheinen gleichzeitig in der Tabelle 3
„Ergebniserfassung“.Farbig werden brauchen nur die Texte in
Tabelle 3 Spalte D. Kann aber auch in Tabelle 1 geschehen.
Ziel ist einem Anwender die Eingabe in die richtige Tabelle
zu erleichtern.

Hallo Skaletti,

der Code von Carsten klappt doch im Modul von „Ergebniserfassung“ wenn du ihn nicht „…Change2…“ sondern „…Change…“ benennst.

Gruß
Reinhard

der Code von Carsten klappt doch im Modul von „Ergebniserfassung“ wenn du ihn nicht „…Change2…“ sondern „…Change…“ benennst

Hi Reinhard,

ich weiss jetzt nicht was du gemacht hast,
aber ich bekomme dann die Meldung:

„Fehler beim Kompilieren
Mehrdeutiger Name: Worksheet_Change“

Das funktioniert nur wenn ich den Code
für die fortlaufende Nummer lösche, der die gleiche
Benennung hat. Die fortlaufende Nummer brauche ich aber.
Ich müsste einen Code umbenennen - Wie? -

Gruß Skaletti!

Hallo Skaletti,

ich weiss jetzt nicht was du gemacht hast,

wie immer nix *unschuldig schau* :smile:

aber ich bekomme dann die Meldung:

„Fehler beim Kompilieren
Mehrdeutiger Name: Worksheet_Change“

Das sagt doch alles.
Man könnte beide Codes in eine einzige „Worksheet_Change“-Prozedur packen aber das brauchst du doch gar nicht.
In dem Moment wo du in der UF (UserForm) auf den Button klickst weißt du ja wohin was geschrieben wird, da legst du auch die Schriftfarbe fest und fertig.

Gruß
Reinhard

Das funktioniert nur wenn ich den Code
für die fortlaufende Nummer lösche, der die gleiche
Benennung hat. Die fortlaufende Nummer brauche ich aber.
Ich müsste einen Code umbenennen - Wie? -

Gruß Skaletti!

Hallo Carsten, Reinhard,

vielen Dank für eure ausdauernde Hilfe.
Habe es jetzt hinbekommen.
Ein gutes Forum.

Gruß Skaletti!

Falls es interessiert, hier der jetzige Code im Modul der UserForm:

Private Sub CommandButton1_Click()

Dim erste_freie_Zeile As Integer

erste_freie_Zeile = Sheets(„Anmeldungsliste“).Range(„A65536“).End(xlUp).Offset(1, 0).Row
erste_freie_Zeile = Sheets(„Ergebniserfassung“).Range(„A65536“).End(xlUp).Offset(1, 0).Row

Sheets(„Anmeldungsliste“).Cells(erste_freie_Zeile, 2) = (TextBox1.Text)
Sheets(„Ergebniserfassung“).Cells(erste_freie_Zeile, 2) = (TextBox1.Text)

Sheets(„Anmeldungsliste“).Cells(erste_freie_Zeile, 3) = (TextBox2.Text)
Sheets(„Ergebniserfassung“).Cells(erste_freie_Zeile, 3) = (TextBox2.Text)

Sheets(„Anmeldungsliste“).Cells(erste_freie_Zeile, 4) = ComboBox1.Text
Sheets(„Ergebniserfassung“).Cells(erste_freie_Zeile, 4) = ComboBox1.Text

Select Case Cells(erste_freie_Zeile, 4).Value

Case („Schüler“)
Sheets(„Anmeldungsliste“).Cells(erste_freie_Zeile, 4).Font.ColorIndex = 3
Sheets(„Ergebniserfassung“).Cells(erste_freie_Zeile, 4).Font.ColorIndex = 3

Case („Jugend passiv“)
Sheets(„Anmeldungsliste“).Cells(erste_freie_Zeile, 4).Font.ColorIndex = 4
Sheets(„Ergebniserfassung“).Cells(erste_freie_Zeile, 4).Font.ColorIndex = 4

Case („Jugend aktiv“)
Sheets(„Anmeldungsliste“).Cells(erste_freie_Zeile, 4).Font.ColorIndex = 5
Sheets(„Ergebniserfassung“).Cells(erste_freie_Zeile, 4).Font.ColorIndex = 5

Case („Schützen passiv“)
Sheets(„Anmeldungsliste“).Cells(erste_freie_Zeile, 4).Font.ColorIndex = 6
Sheets(„Ergebniserfassung“).Cells(erste_freie_Zeile, 4).Font.ColorIndex = 6

Case („Schützen aktiv“)
Sheets(„Anmeldungsliste“).Cells(erste_freie_Zeile, 4).Font.ColorIndex = 7
Sheets(„Ergebniserfassung“).Cells(erste_freie_Zeile, 4).Font.ColorIndex = 7

Case („Damen“)
Sheets(„Anmeldungsliste“).Cells(erste_freie_Zeile, 4).Font.ColorIndex = 8
Sheets(„Ergebniserfassung“).Cells(erste_freie_Zeile, 4).Font.ColorIndex = 8

End Select
Unload Me
End Sub