Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
832to836
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Zelle abhängig von Wert formatieren
31.12.2006 10:50:03
Wert
Guten Morgen ans Excelforum,
kurz vor Jahresende habe ich noch ein Formatierungsproblem, ich weiß aber nicht wie man das mit VBA hinbekommen kann.
Problem:
Der Farbhintergrund einer Zelle soll in Abhängigkeit von dem Wert der Zelle sein.
Praktisch wäre es wenn man Bereiche definieren könnte Bsp. Zelle a1 soll bei Werten zwischen 80 und 100 Zellhintergund grün haben, bei 60 bis 80 sollte ein gelber Hintergrund erscheinen und bei Unterschreiten von 60 ein roter Hintergund zu sehen sein. Die Zelle soll nach der Eingabe der Zahl in die Zelle a1 die Farbe wechseln, ohne das man das Makro startet.
Guten Rutsch schon mal und vielen Dank
Gruß Bernd

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle abhängig von Wert formatieren
31.12.2006 10:55:00
Wert
Hallo Bernd,
Menüleiste - Format - Bedingte Formatierung. Den Rest schaffst du sicher alleine.
Gruß
Nepumuk
AW: Zelle abhängig von Wert formatieren
31.12.2006 11:08:01
Wert
Hallo Nepumuk,
das mit der bedingten Formatierung funktioniert einwandfrei. Ich würde das ganze aber gerne mit VBA realisieren, weil ich dann mehr Bedingungen setzen kann. Weiss jemand, wie man nach Eingabe in eine Zelle einen Makro automatisch aktiviert ?
Mfg Bernd
AW: Zelle abhängig von Wert formatieren
31.12.2006 11:12:48
Wert
Hallo Bernd,
klar, das wissen hier viele. Mit der Ereignisroutine "Worksheet_Change" im Klassenmodul der Tabelle. Wenn du dich mal im Archiv umsiehst Stichwort "Bedingte Formatierung mehr als drei Bedingungen" so wirst du garantiert mehr als 100 Hinweise finden.
Gruß
Nepumuk
Anzeige
AW: Zelle abhängig von Wert formatieren
31.12.2006 11:37:37
Wert
Hallo Nepumuk,
das ist eine sehr gute Idee. Ich habe in das Klassenmodul der Tabelle folgenden Code eingefügt, aber irgendwie ändert sich noch nichts in meiner Zelle.
Vielen Dank schon mal.
mfg Bernd
ClassModule: Planungsrechnung

Private Sub Worksheet_Change(ByVal Target As Range)
With Range("B5")
If .Value < 60 Then
.Interior.ColorIndex = 3
Else
.Interior.ColorIndex = 5
End If
End With
End Sub

AW: Zelle abhängig von Wert formatieren
31.12.2006 11:41:43
Wert
Hallo Bernd,
hast du ein Klassenmodul eingefügt, oder das immer vorhandene Modul der Tabelle benutzt? Ist die betreffende Zelle die Zelle B5 ?
Gruß
Nepumuk
Anzeige
AW: Zelle abhängig von Wert formatieren
31.12.2006 11:50:36
Wert
Hallo Nepumuk,
zuerst habe ich ein Klassenmodul eingefügt und dann einen Bsp. Code aus dem Archiv dort eingefügt. Die Zelle reagiert aber bei einer Eingabe nicht.
Mfg Bernd
AW: Zelle abhängig von Wert formatieren
31.12.2006 12:01:22
Wert
Hallo Bernd,
du sollst kein Klassenmodul einfügen, sondern das der Tabelle benutzen. In Projektexplorer einen Doppelklick auf die Tabelle, oder von Excel aus einen Rechtsklick auf den entsprechenden Tabellenreiter - Code anzeigen. Das Klassenmodul kannst du wieder löschen. Rechtsklick in Projektexplorer - Entfernen. Die Frage, ob es sich um die Zelle B5 handelt ist noch offen. Denn so wie die Prozedur momentan aussieht, wird die Zelle bei jeder Eingabe in der Tabelle neu formatiert. Das ist Unsinn.
Gruß
Nepumuk
Anzeige
AW: Zelle abhängig von Wert formatieren
31.12.2006 12:15:00
Wert
Hallo Nepumuk,
wenn man den Code in der Tabelle einfügt, reagiert die Tabelle wie gewünscht. Echt Super.
Wofür braucht man denn die Klassenmodule ? Das Bsp. mit dem Klassenmodul war aus dem Forum.
Mfg Bernd
Titel: Farbänderung bei Änderung des Wahrheitswertes
Problem: Bei Änderung des Wahrheitswertes in Zelle B1 soll sich die Hintergrundfarbe dieser Zelle ändern. Die Bedingte Formatierung soll nicht eingesetzt werden.
Lösung: Geben Sie den Ereigniscode in das Klassenmodul des Arbeitsblattes ein.
ClassModule: Tabelle1

Private Sub Worksheet_Change(ByVal Target As Range)
With Range("B1")
If .Value = True Then
.Interior.ColorIndex = 34
Else
.Interior.ColorIndex = 36
End If
End With
End Sub

Anzeige
AW: Zelle abhängig von Wert formatieren
31.12.2006 12:25:05
Wert
Hallo Bernd,
Da steht es doch:
Geben Sie den Ereigniscode in das Klassenmodul des Arbeitsblattes ein.
Klassenmodule werden benötigt, um eine virtuelle Klasse zu erstellen. Das sind Objekt die es eigentlich nicht gibt. Eine genauere Erklärung würde aber deine Kenntnissen etwas überfordern.
Jetzt weiß ich aber immer noch nicht, welche Zelle reagieren soll. :-(
Gruß
Nepumuk
AW: Zelle abhängig von Wert formatieren
31.12.2006 12:46:04
Wert
Hallo Nepumuk,
das hatte ich dann wohl falsch verstanden mit dem Klassenmodul. Die Zelle ändert sich jetzt je nach Zahleneingabe. Die Zelle B5 soll bei Zahleneingabe je nach Wert die Farbe ändern, was sie auch tut. Der Code ist noch nicht vollständig, unterscheidet die Bereiche aber richtig.

Private Sub Worksheet_Change(ByVal Target As Range)
With Range("B5")
If .Value <= 150 And .Value >= 100 Then
.Interior.ColorIndex = 3
End If
If .Value <100 And .Value >= 90 Then
.Interior.ColorIndex = 8
End If
End With
End Sub

Vielen Dank noch mal, das hätte ich bis Ostern nicht hinbekommen.
Mfg Bernd
Anzeige
AW: Zelle abhängig von Wert formatieren
31.12.2006 12:54:29
Wert
Hallo Nepumuk,
da ist gerade noch ein Problem aufgetaucht, die Änderung der Zellfarbe funktioniert nicht mit einem Drehfeld.
Mfg Bernd
AW: Zelle abhängig von Wert formatieren
31.12.2006 13:08:27
Wert
Hallo Bernd,
das hättest du aber auch gleich schreiben können. Das hätte 10 sinnlose Postings gespart. Dann in einem Standardmodul:
Sub Drehfeld1_BeiÄnderung()
    With Range(ActiveSheet.Shapes("Drehfeld 1").OLEFormat.Object.LinkedCell)
        If .Value <= 150 And .Value >= 100 Then
            .Interior.ColorIndex = 3
        ElseIf .Value < 100 And .Value >= 90 Then
            .Interior.ColorIndex = 8
        End If
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Zelle abhängig von Wert formatieren
31.12.2006 13:26:53
Wert
Hallo Nepumuk,
für mich war das sehr lehrreich und sicherlich nicht sinnlos. Das Makro für das Drehfeld hängt noch, weil er das Element mit dem angegebenen Namen nicht finden kann. Das Drehfeld habe ich aus der Symbolleiste Formular eingefügt.
in der Zeile kommt die Fehlermeldung
With Range(ActiveSheet.Shapes("Drehfeld 1").OLEFormat.Object.LinkedCell)
Vielen Dank nochmals
Mfg Bernd
AW: Zelle abhängig von Wert formatieren
31.12.2006 18:36:44
Wert
Hallo Nepumuk
Hier noch meine Lösung:
2 Ereignisse mit Spinbutton aus der Steuerelement Toolbox in Modul der Tabelle einfügen, dann funktioniert auch das andere Ergeignis mit dem Farbwechsel der Zelle.
Gutschen Rutsch ans Forum und danke für die Hilfe.
mfg Bernd
Änderung der Hintergrundfarbe abhängig vom Wert der Zelle b7

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Address = "$B$7" Then
If .Value <= 150 And .Value >= 100 Then
.Interior.ColorIndex = 8
ElseIf .Value < 100 And .Value >= 90 Then
.Interior.ColorIndex = 6
ElseIf .Value < 90 And .Value >= 85 Then
.Interior.ColorIndex = 5
End If
End If
End With
End Sub

Runterzählen der Zelle b7 mit spinbutton

Private Sub SpinButton1_SpinDown()
Range("b7") = Range("b7").Value - 1
End Sub

Hochzählen der Zelle b7 mit spinbutton

Private Sub SpinButton1_SpinUp()
Range("b7") = Range("b7").Value + 1
End Sub

Anzeige
AW: Zelle abhängig von Wert formatieren
31.12.2006 12:54:32
Wert
Hallo Bernd,
so ist's besser:
Private Sub Worksheet_Change(ByVal Target As Range)
    With Target
        If .Address = "$B$5" Then
            If .Value <= 150 And .Value >= 100 Then
                .Interior.ColorIndex = 3
            ElseIf .Value < 100 And .Value >= 90 Then
                .Interior.ColorIndex = 8
            End If
        End If
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Zelle abhängig von Wert formatieren
31.12.2006 13:07:31
Wert
Hallo Nepumuk,
Neues Problem:
Die Änderung der Zellfarbe mit dem entwickelten Makro funktioniert nicht mit einem Drehfeld, das den Zellinhalt von b5 verändert.
Mfg Bernd

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige