Zellen färben

Outsider77

Erfahrenes Mitglied
Hallo! Ich habe folgendes Problem: in der angehängten Tabelle sollen in den weißen Zellen 3 stellige Zahlen eingegeben werden. Im Beispiel habe ich 301 eingegeben und das wurde ergänzt zu 3.317.25.09-.01. Soweit so gut.

Jetzt sollen abhängig von meiner Eingabe dieses Feld und das graue darüber eingefärbt werden. Also zb. orange, wenn die eingegebene 3 stellige Zahl mit 3 beginnt und kleiner als 371 ist. Oder grün, wenn die eingegebene 3 stellige Zahl mit 3 beginnt und zwischen 381 und 399 liegt. Beginnt die Eingabe mit 1 oder 2, soll nichts eingefärbt werden. Einfärben der aktiven Zelle funktioniert, aber wie wird die jeweils darüberliegende Zelle automatisch mit der selben Farbe ausgefüllt? Und wenn ich die Eingabe mit ENTER bestätige, soll er wie üblich in die nächste, darunterliegende Zelle springen.

Danke für Eure Hilfe

Gruß Outsider
 

Anhänge

  • tabelle1.jpg
    tabelle1.jpg
    130,1 KB · Aufrufe: 37
  • Makro_Färben.txt
    907 Bytes · Aufrufe: 47
Danke, es hat so funktioniert. Konnte dann im Makro auch noch die Zeile "Target.Activate" löschen und das 2. Problem, dass er nach der Eingabe nicht in die darunterliegende Zeile gesprungen ist, hat sich damit auch erledigt.

Jetzt habe ich noch eine Sache, bei der ich nicht ganz weiter komme...
Ich habe in einem Arbeitsblatt einem Bereich (A1 : D5) einen Namen zugewiesen, sagen wir mal 'test1'.
Jetzt möchte ich in einem anderen Arbeitsblatt eine Zelle mit diesem Namen verknüpfen, so dass nicht der ganze Text aus dem Bereich in der Zelle steht (der Übersicht wegen).
Gruß Outi
 
Zuletzt bearbeitet:
Hallo, also den Zugriff auf den Namen der Range kannst du so realisieren:
Code:
    On Error GoTo noname
    Dim rngTest As Range
    
    Set rngTest = ThisWorkbook.Worksheets("Sheet1").Range("A1:D5")
    
    Debug.Print rngTest.Name.Name
    
    Exit Sub
noname:
    Debug.Print "kein Name"

Statt Debug.Print dann eben eine Zuweisung zur gewünschten Zelle.

Da du aber von "verknüpfen" gesprochen hast nehme ich an dass der Wert in der Zelle sich automatisch ändern soll wenn der Name der Range geändert wird.
Dazu kannst du denke ich das Worksheet_Change - Event benutzen. Geht aber vielleicht auch eleganter...

Grüße
NeMeSiS
 

Neue Beiträge

Zurück