Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1584to1588
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
Inhaltsverzeichnis

Farbe einer bestimmte Zelle ändern

Farbe einer bestimmte Zelle ändern
13.10.2017 10:20:22
Alexander
Moin, ich sitze schon eine Weile vor einem Problem. Leider kann ich VBA gar nicht.
Ich habe in Zelle Q8 bis Q38 Buchstaben stehen. Je nach Buchstabe soll sich die Farbe in G,H und I ändern.
Wenn in Q8 also ein "a" steht dann sollen sich G,H und I ändern.
Wenn Q8 = a dann
G die Farbe 45
H die Farbe 44
I die Farbe 45
Wenn Q8 = b dann
G die Farbe 39
H die Farbe 38
I die Farbe 37
Es gibt a,b,c,d,e,f,x,y,z
Das funktioniert in soweit das sich das Feld ändert in dem der Buchstabe steht.
Wie bekomme ich es hin das sich die anderen Zellen färben. Vielleicht ist da InStr auch der falsche Ansatz?
Sub farbe()
Dim rngCell As Range
For Each rngCell In Range("Q8:Q38")
If InStr(1, rngCell.Value, "a") > 0 Then
rngCell.Interior.ColorIndex = 45
End If
Next rngCell
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farbe einer bestimmte Zelle ändern
13.10.2017 10:30:13
ChrisL
Hi Alexander
InStr könnte hilfreich sein, wenn du auf Teil-Strings (Zelle "enthält" a) prüfen willst. Aber darum scheint es hier ja nicht zu gehen.
Sub farbe()
Dim rngCell As Range
For Each rngCell In Range("Q8:Q38")
Select Case rngCell
Case "a"
rngCell.Offset(0, -10).Interior.ColorIndex = 45
rngCell.Offset(0, -9).Interior.ColorIndex = 44
rngCell.Offset(0, -8).Interior.ColorIndex = 45
Case "b"
rngCell.Offset(0, -10).Interior.ColorIndex = 39
rngCell.Offset(0, -9).Interior.ColorIndex = 38
rngCell.Offset(0, -8).Interior.ColorIndex = 37
End Select
Next rngCell
End Sub

cu
Chris
Anzeige
AW: Farbe einer bestimmte Zelle ändern
13.10.2017 10:36:36
ChrisL
Etwas weniger zum Schreiben...
Sub farbe()
Dim rngCell As Range
For Each rngCell In Range("Q8:Q38")
Select Case rngCell
Case "a": Call MachFarbig(rngCell, 45, 44, 45)
Case "b": Call MachFarbig(rngCell, 39, 38, 37)
End Select
Next rngCell
End Sub

Private Sub MachFarbig(rng As Range, f1 As Integer, f2 As Integer, f3 As Integer)
rng.Offset(0, -10).Interior.ColorIndex = f1
rng.Offset(0, -9).Interior.ColorIndex = f2
rng.Offset(0, -8).Interior.ColorIndex = f3
End Sub

cu
Chris
AW: Farbe einer bestimmte Zelle ändern
13.10.2017 10:41:07
Alexander
Super Danke das reicht mir schon so :)
Anzeige
Danke für die Rückmeldung owT
13.10.2017 10:41:56
ChrisL
.
AW: Farbe einer bestimmte Zelle ändern
13.10.2017 10:33:30
yummi
Hallo Alexander,
Instr kannst Du nehmen wen nnur ein a enthalten sein soll, wenn du aber nur anch a abfragen willst reicht =

Sub farbe()
Dim rngCell As Range
For Each rngCell In Range("Q8:Q38")
If rngCell.Value = "a" Then
rngCell.Interior.ColorIndex = 45
Cells(rngcell.row, 7).interior.ColorIndex = 45
Cells(rngcell.row, 8).interior.ColorIndex = 44
Cells(rngcell.row, 9).interior.ColorIndex = 45
End If
If rngCell.Value = "b" Then
rngCell.Interior.ColorIndex = 39
Cells(rngcell.row, 7).interior.ColorIndex = 39
Cells(rngcell.row, 8).interior.ColorIndex = 38
Cells(rngcell.row, 9).interior.ColorIndex = 37
End If
Next rngCell
WEnn du die Q Zelel nicht ändern willst, musst du die erste Zeile nach dem if jeweils auskommentieren.
Gruß
yummi
End Sub
Anzeige

94 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige