Registriert seit: 13.02.2017
Version(en): 2013
27.04.2017, 08:35
(Dieser Beitrag wurde zuletzt bearbeitet: 27.04.2017, 12:58 von Rabe.
Bearbeitungsgrund: Code-Tags verwendet
)
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?
Registriert seit: 13.04.2014
Version(en): 365, 2019
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.
Registriert seit: 10.04.2014
Version(en): 2016 + 365
27.04.2017, 13:00
(Dieser Beitrag wurde zuletzt bearbeitet: 27.04.2017, 13:00 von Rabe.)
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 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$9 | 01.Bed.: Formel ist | | =ODER($I3="X";$I3="x") | | 65280 | | | | | 2 | D3: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$9 | 01.Bed. | | Falsch | | | | | 2 | D3: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
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
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)
Registriert seit: 13.04.2014
Version(en): 365, 2019
27.04.2017, 14:17
(Dieser Beitrag wurde zuletzt bearbeitet: 27.04.2017, 14:17 von BoskoBiati.)
Hi Ralf,
das ginge auch so:
Arbeitsblatt mit dem Namen 'Tabelle1' | | D | E | F | G | H | I | J | K | L | 3 | | | | | | x | | | | 4 | | | | | | | | | | 5 | | | | | | | | | | 6 | | | | | | | | | | 7 | | | | | | X | | | |
Zelle | bedingte Formatierung... | Format | D3 | 1: =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.
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo zusammen,
ihr berücksichtigt aber nicht, dass das x auch wieder entfernt werden kann, was soll dann mit dem Giftgrün passieren?
Gruß Atilla
Registriert seit: 13.04.2014
Version(en): 365, 2019
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.
Registriert seit: 10.04.2014
Version(en): Office 2019
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
Registriert seit: 14.04.2014
Version(en): 2003, 2007
27.04.2017, 17:40
(Dieser Beitrag wurde zuletzt bearbeitet: 27.04.2017, 17:40 von atilla.)
(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
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
(27.04.2017, 17:24)Jockel schrieb: Hallo Edgar, wieso..?
Ebend
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)
|