Zellen je nach Eingabewert automatisch einfärben

Bild

Betrifft: Zellen je nach Eingabewert automatisch einfärben von: Claus Bauer
Geschrieben am: 16.02.2005 22:39:38

Hallo,

in Spalte A werden die Werte 1, 2, 3 , 4 oder 5 eingetragen. (Über Daten Gültigkeit kein Problem)

Jetzt soll immer genau die Zelle, die soeben befüllt wurde, je nach Wert eine bestimmte Hintergrundfarbe erhalten. Mit bedingter Formatierung geht es nicht, da dort nur 3 verschiedene Bedingungen und Formatierungen verwaltet werden können.

Einen Makro, der das kann hab ich schon zusammengebastelt. Nur will ich nicht jedes mal diesen Makro anstoßen.
Es wäre toll, wenn die Veränderung des Wertes einer Zelle der Spalte A (z.B. A5)diese Formatierung (Hintergrundfarbe) derselben Zelle (z.B. A5) sofort auslösen würde.

Vielen Dank und freundliche Grüße
Claus Bauer

Bild


Betrifft: AW: Zellen je nach Eingabewert automatisch einfärb von: Uduuh
Geschrieben am: 16.02.2005 22:43:42

Hallo,
nutze das Worksheet_Change-Ereignis

Gruß aus'm Pott
Udo



Bild


Betrifft: AW: Zellen je nach Eingabewert automatisch einfärben von: th.heinrich
Geschrieben am: 16.02.2005 22:49:15

hallo Claus,

reiter des blatts mit rechts anclicken in der Dein Makro laufen soll.

Code anzeigen jetzt im dropdown rechts von Worksheet das Change ereignis waehlen.

Deinen code reinkopieren.

gruss thomas


Bild


Betrifft: AW: Zellen je nach Eingabewert automatisch einfärben von: Angelina
Geschrieben am: 17.02.2005 00:14:39

Thomas mein süsse ich kann nicht schlafen ruf mich an


Bild


Betrifft: AW: Zellen je nach Eingabewert automatisch einfärben von: Claus Bauer
Geschrieben am: 17.02.2005 17:43:47

Hallo,

vielen Dank für die Tipps, bin zum ersten mal in diesem Forum, das ist ja echt toll hier.

Trotzdem komme ich leider nicht weiter.

Mein Stand: Für das Tabellenblatt, wo ich diese Funktion nutzen will, gehe ich mit rechter Maustaste auf das Register und klicke Code anzeigen.
Dort:

Private Sub Worksheet_Change(ByVal Target As Range)
Call gelb 'gelb ist der Makro, der entsprechend formatiert
End Sub


Problem: Nun bezieht sich der Makro auf die Zelle, die mittels Pfeiltaste oder Mausklick angesprungen wurde, und das ist falsch. (Nur mit Eingabe durch Enter führt es zum richtigen Ergebnis)
Ich müsste den Cursor also wieder auf die Position der geänderten Zelle bringen, dort formatieren und anschl. natürlich wieder auf die nach der Eingabe gewählte Position springen. Geht das?

Liebe Grüße Claus


Bild


Betrifft: AW: Zellen je nach Eingabewert automatisch einfärben von: Jan
Geschrieben am: 17.02.2005 17:47:27

Führ das Formatieren in Private Sub Worksheet_Change(ByVal Target As Range) durch,
nicht in einem Modul!

mfg Jan


Bild


Betrifft: AW: Zellen je nach Eingabewert automatisch einfärben von: Claus
Geschrieben am: 17.02.2005 17:51:59

sorry, leider hab ich über VB kaum Kenntnisse, dein Tipp hilft mir nicht weiter.

Kannst du mir das bitte genauer erläutern?

P.S. : Oder meinst Du: anstatt call gelb soll ich an dieser Stelle meinen Makro-Code reinkopieren?


Bild


Betrifft: AW: Zellen je nach Eingabewert automatisch einfärben von: th.heinrich
Geschrieben am: 17.02.2005 20:00:30

hallo Claus,

mit Call rufst Du Deinen code auf, wenn er im Worksheet_Change steht wird er nur aufgerufen falls sich im tab etwas aendert.

versuche doch die anderen Worksheet_ereignisse z.b. Activate dann laeuft er, wenn die tab aktiviert wird.

gruss thomas


Bild


Betrifft: AW: Zellen je nach Eingabewert automatisch einfärben von: Claus
Geschrieben am: 18.02.2005 22:18:37

Hallo Thomas,

das hilft mir alles nicht weiter.

Mein Problem:


Private Sub Worksheet_Change(ByVal Target As Range)
'Stop
ActiveCell.FormulaR1C1 = "test"
End Sub


ist nah dran, denn es schreibt test, wenn ich eine Zelle ändere. Aber es schreibt dort, wo ich hingeklickt habe, und ich möchte, dass es in die Zelle schreibt, welche geändert wurde. Wenn ich das habe, schaffe ich auch den Rest.

Vielen Dank
mfG
Claus Bauer


Bild


Betrifft: noch offen ot. von: th.heinrich
Geschrieben am: 19.02.2005 13:42:16




Bild


Betrifft: AW: Zellen je nach Eingabewert automatisch einfärben von: ransi
Geschrieben am: 19.02.2005 13:57:05

hallo claus

hilft dir das weiter?

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer 'Farbe
If Target.Column <> 1 Or Target.Count > 1 Then Exit Sub 'beschränkung auf spalte "A" und keine Mehrfachselektion
Select Case Target.Value
     Case Is = 1
     i = 3 'anpassen
     Case Is = 2
     i = 5
     Case Is = 3
     i = 18
     Case Is = 4
     i = 25
     Case Is = 5
     i = 35
End Select
Target.Interior.ColorIndex = i
End Sub

ransi


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zellen je nach Eingabewert automatisch einfärben"