Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zeile Färben bei Inhalt X
#1
Hallo,

möchte das in meinem Excel Arbeitsblatt Gesamt , welches die Werte aus anderen Arbeitsblättern generiert, bestimmte Zellen grün gefärbt werden, wenn in de Spalte I ein x oder X eingetragen wird.
Es sollen die Spalten D bis J grün gefüllt werden.

Mein Versuch in VBA, im Tabellenblatt Gesamt:

Code:
Sub Colored()
   Dim R As Long
   
   Application.ScreenUpdating = False
   For R = 1 To 50
       If InStr(Cells(R, 9).Value, "X") Or InStr(Cells(R, 9).Value, "x") Then  'Falls irgendwo ein x oder X in der Spalte "I" vorkommt
           Range(Cells(R, 4), Cells(R, 10)).Interior.Color = 4  'HellGrün wäre schön von Spalte D bis J in der selben Zeile wie das X/x
       End If
   Next
   Application.ScreenUpdating = True
End Sub

Wer kann mir helfen?
Antworten Top
#2
Hi,

warum VBA, es gibt doch die bedingte Formatierung.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
Hi,

(27.04.2017, 08:35)soldblub schrieb: Wer kann mir helfen?

nimm dieses Makro:
Sub Colored()
   Dim R As Long
   
   Application.ScreenUpdating = False
   For R = 1 To 50
      If Cells(R, 9).Value = "X" Or Cells(R, 9).Value = "x" Then 'Falls irgendwo ein x oder X in der Spalte "I" vorkommt 
         Range(Cells(R, 4), Cells(R, 10)).Interior.ColorIndex = 4 'HellGrün wäre schön von Spalte D bis J in der selben Zeile wie das X/x 
      End If
   Next
   Application.ScreenUpdating = True
End Sub
und hier mit bedingter Formatierung:

Tabelle1
DEFGHIJ
3x
4X
5x
6
7
8x
9X

Bedingte Formatierung Haupttabelle 1
Wird angewendet auf   Nr. Bed.  Regeltyp  Operator   Formel1   Formel2   Format Schrift Füllfarbe   Unterstrichen   Schrift- farbe Muster   Musterfarbe Typ Bereich
$D$3:$J$901.Bed.: Formel ist=ODER($I3="X";$I3="x")65280       2D3:J9
Bedingte Formatierung Haupttabelle 2 oberere/unterer Bereich  
Wird angewendet auf   Nr. Bed. Format Zelle Anhalten Auswahl   Anzeige   Anzahl   Durchschnitt   Typ   Bereich
$D$3:$J$901.Bed.   Falsch          2D3:J9
Die Bedingungen wurden mit Excel-Version ab 2007 ausgelesen.

Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 19.08 einschl. 64 Bit


siehe hier eine Datei zum Runterladen für die Farbwerte:
http://www.excel-center.de/foren/read.ph...#msg-11925
Antworten Top
#4
Hi Ralf,

ich habe mir jetzt die Farbtafel vom Nachbarforum nicht angesehen - wir haben in unserem Forum auch eine: http://www.clever-excel-forum.de/thread-162.html
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#5
Hi Ralf,

das ginge auch so:

Arbeitsblatt mit dem Namen 'Tabelle1'
 DEFGHIJKL
3     x   
4         
5         
6         
7     X   

Zellebedingte Formatierung...Format
D31: =GROSS($I3)="X"abc
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Das Originalmakro war auch ok, wenn man mit ColorIndex gearbeitet hätte:


Code:
Sub Colored()
   Dim R As Long
   
   Application.ScreenUpdating = False
   For R = 1 To 50
       If InStr(Cells(R, 9).Value, "X") Or InStr(Cells(R, 9).Value, "x") Then  'Falls irgendwo ein x oder X in der Spalte "I" vorkommt
           Range(Cells(R, 4), Cells(R, 10)).Interior.ColorIndex = 50 'HellGrün wäre schön von Spalte D bis J in der selben Zeile wie das X/x
       End If
   Next
   Application.ScreenUpdating = True
End Sub


Aber so wäre es geschickter:

Code:
Sub Colored()
   Dim R As Long
   
   Application.ScreenUpdating = False
   For R = 1 To 50
       If Ucase(Cells(R, 9), "X")  Then   Range(Cells(R, 4), Cells(R, 10)).Interior.ColorIndex = 50
   Next
   Application.ScreenUpdating = True
End Sub
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#6
Hallo zusammen,

ihr berücksichtigt aber nicht, dass das x auch wieder entfernt werden kann, was soll dann mit dem Giftgrün passieren? Blush
Gruß Atilla
Antworten Top
#7
Hi atilla,

für die Formel kein Problem, ansonsten wäre das wohl eine weitere Frage (Change o. Calculate).
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#8
Hallo Edgar, wieso..?


Code:
=GROSS($I3)="X"
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten Top
#9
(27.04.2017, 17:21)BoskoBiati schrieb: Hi atilla,

für die Formel kein Problem, ansonsten wäre das wohl eine weitere Frage (Change o. Calculate).

Hallo Edgar,

das ist klar.

Ich meinte das ja auch auf die eingestellten Codes bezogen.
Da wird zwar Farbe gesetzt aber nirgends entfärbt.
Gruß Atilla
Antworten Top
#10
(27.04.2017, 17:24)Jockel schrieb: Hallo Edgar, wieso..?


Code:
=GROSS($I3)="X"

Ebend  Angel
A
1WAHR
Formeln der Tabelle
ZelleFormel
A1="x"="X"

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste