Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
768to772
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
768to772
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellenfarben bei Datenimport aktualisieren

Zellenfarben bei Datenimport aktualisieren
02.06.2006 10:45:32
Nico
Hallo Zusammen
Habe hier im Forum ein Scribt gefunden welches mir die Zellenhintergründe mit einer select case Anweisung bei einem bestimmten Wert ändert. Dieses brauchte ich da mit der bedingten Formatierung nur 3 Möglichkeiten zu Verfügung stehen. Soweit so gut. Nun zu meinem Problem. Werden die Werte von Hand eingetragen funtzt das Makro einwandfrei. Ich muss die Werte jedoch aus anderen Dokumenten importieren. Die Farbe ändert sich hierbei jetzt zwar jedoch nur einmalig. Ändert sich jetzt der wert in der anderen Tabelle wird er zwar richtig übergeben jedoch der alte Farbwert bleibt bestehen.
Frage: Wie kann ich das Lösen das der Farbwert sich auch bei einem Importiertem Wert ändert?
Und weiß jemand wo ich eine Tabelle finde welcher Farbwert welche Farbe ist?
Folgend der Sript code:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Bereich As Range
'If Target.Cells.Count > 1 Then Exit Sub 'Wenn mehr als eine Zelle markiert wurde dann Makro beenden
Set Bereich = Range("B5:O110") 'Hier wird der Bereich, in dem der Code seine Wirkung hat, eingestellt
If Intersect(Target, Range("B5:O110")) Is Nothing Then Exit Sub
Select Case Target.Value
Case ""
Target.Interior.ColorIndex = 0 'Hintergrundfarbe
Target.Font.ColorIndex = 1     'Schriftfarbe
Case "RB"
Target.Interior.ColorIndex = 42 'Hintergrundfarbe
Target.Font.ColorIndex = 1     'Schriftfarbe
Case "Eins"
Target.Interior.ColorIndex = 47 'Hintergrundfarbe
Target.Font.ColorIndex = 1     'Schriftfarbe
Case "Aus"
Target.Interior.ColorIndex = 33 'Hintergrundfarbe
Target.Font.ColorIndex = 1     'Schriftfarbe
Case "Üb"
Target.Interior.ColorIndex = 22 'Hintergrundfarbe
Target.Font.ColorIndex = 1     'Schriftfarbe
'Case "irgendwas"
'Target.Interior.ColorIndex = 0 'Hintergrundfarbe
'Target.Font.ColorIndex = 0     'Schriftfarbe
End Select
End Sub

Würde mich über eine Antwort von euch freuen
LG Nico

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellenfarben bei Datenimport aktualisieren
02.06.2006 11:42:00
Harald
Hi,
vielleicht klappts mit dem Calculate_Ereignis besser ;-)

Private Sub Worksheet_Calculate()
Dim Zelle As Range
For Each Zelle In Range("B5:O110")
Select Case Zelle.Value
Case ""
Zelle.Interior.ColorIndex = 0 'Hintergrundfarbe
Zelle.Font.ColorIndex = 1     'Schriftfarbe
Case "RB"
Zelle.Interior.ColorIndex = 42 'Hintergrundfarbe
Zelle.Font.ColorIndex = 1     'Schriftfarbe
Case "Eins"
Zelle.Interior.ColorIndex = 47 'Hintergrundfarbe
Zelle.Font.ColorIndex = 1     'Schriftfarbe
Case "Aus"
Zelle.Interior.ColorIndex = 33 'Hintergrundfarbe
Zelle.Font.ColorIndex = 1     'Schriftfarbe
Case "Üb"
Zelle.Interior.ColorIndex = 22 'Hintergrundfarbe
Zelle.Font.ColorIndex = 1     'Schriftfarbe
'Case "irgendwas"
'Zelle.Interior.ColorIndex = 0 'Hintergrundfarbe
'Zelle.Font.ColorIndex = 0     'Schriftfarbe
End Select
An den Colorindex kommst Du so. (ins Modul eines leeren Blatt und laufen lassen)
Sub farbebekennen()
Dim i As Integer
For i = 1 To 56
Cells(i, 1) = i
Cells(i, 2).Interior.ColorIndex = i
Next i
End Sub

Gruss Harald
Anzeige
AW: Zellenfarben bei Datenimport aktualisieren
02.06.2006 13:46:36
Nico
Danke für die schnelle Antwort Harald. Leider funtzt es bei mir nicht. Ich habe den Code direkt hinter eine Tabelle kopiert oder ist das falsch und das muss ein Modul sein? Bekomme das mit den Farbwerten auch nicht gebacken. Bin leider ein kleines Dummerle auf dem VBA gebiet ;-(
Habe diesen Code verwendet und bekommen ein Kompilierungsfehler „ For ohne Next“

Private Sub Worksheet_Calculate()
Dim Zelle As Range
For Each Zelle In Range("B5:O110")
Select Case Zelle.Value
Case ""
Zelle.Interior.ColorIndex = 0 'Hintergrundfarbe
Zelle.Font.ColorIndex = 1     'Schriftfarbe
Case "RB"
Zelle.Interior.ColorIndex = 42 'Hintergrundfarbe
Zelle.Font.ColorIndex = 1     'Schriftfarbe
Case "Eins"
Zelle.Interior.ColorIndex = 47 'Hintergrundfarbe
Zelle.Font.ColorIndex = 1     'Schriftfarbe
Case "Aus"
Zelle.Interior.ColorIndex = 33 'Hintergrundfarbe
Zelle.Font.ColorIndex = 1     'Schriftfarbe
Case "Üb"
Zelle.Interior.ColorIndex = 22 'Hintergrundfarbe
Zelle.Font.ColorIndex = 1     'Schriftfarbe
'Case "irgendwas"
'Zelle.Interior.ColorIndex = 0 'Hintergrundfarbe
'Zelle.Font.ColorIndex = 0     'Schriftfarbe
End Select
End Sub

LG Nico
Anzeige
AW: Zellenfarben bei Datenimport aktualisieren
02.06.2006 14:01:54
Harald
Hi,
null problemo. Bin ja selbst auch nur Level vba-Hausmannskost ;-)))
Der Code kommt in das betreffende Blattmodul.
Und mit der Fehlermeldung. Nunja...gib ihm einfach was er will. Am Ende der Schleife hat das Next Zelle gefehlt.

Private Sub Worksheet_Calculate()
Dim Zelle As Range
For Each Zelle In Range("B5:O110")
Select Case Zelle.Value
Case ""
Zelle.Interior.ColorIndex = 0 'Hintergrundfarbe
Zelle.Font.ColorIndex = 1     'Schriftfarbe
Case "RB"
Zelle.Interior.ColorIndex = 42 'Hintergrundfarbe
Zelle.Font.ColorIndex = 1     'Schriftfarbe
Case "Eins"
Zelle.Interior.ColorIndex = 47 'Hintergrundfarbe
Zelle.Font.ColorIndex = 1     'Schriftfarbe
Case "Aus"
Zelle.Interior.ColorIndex = 33 'Hintergrundfarbe
Zelle.Font.ColorIndex = 1     'Schriftfarbe
Case "Üb"
Zelle.Interior.ColorIndex = 22 'Hintergrundfarbe
Zelle.Font.ColorIndex = 1     'Schriftfarbe
'Case "irgendwas"
'Zelle.Interior.ColorIndex = 0 'Hintergrundfarbe
'Zelle.Font.ColorIndex = 0     'Schriftfarbe
End Select
Next Zelle
End Sub

Mit dem Farbindex:
Öffne eine neue jungfräuliche Mappe. Kopiere den Code in ein Blattmodul, stell den Cursor rein und drücke F5.
Datt klappt ;-))
Gruss Harald
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige