Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mehrere "Case" in einer Zeile

Mehrere "Case" in einer Zeile
03.03.2021 15:45:17
Sebastian
Hey,
da meine Makroentwicklung nun doch andere Hürden aufwirft, eröffne ich lieber einen neuen Beitrag.
Zwei Probleme:
1. Mein Code funktioniert an sich wunderbar. Ich habe nur das Problem, dass er nach einer Case-Behandlung die Schleife wiederholt, ohne die andere Cases abzuarbeiten. Liegt das in der Natur von Select...Case oder kann ich dem das beibringen?
2. Ich würde gern mit einer Zusatzbedingung noch etwas zu einem bestehenden String innerhalb der Zelle hinzufügen. Wenn also in der Zelle steht "ttt" und die Bedingung erfüllt ist, möchte ich gern "(okay)" anfügen, sodass dann dasteht "ttt (okay)". Bei meinem bisherigen Versuch ersetzt er das Geschriebene einfach nur.
Hier der Code:

Sub Einfärben()
Dim i As Integer
Dim hs, ges, umw, phch As Range
With Sheets("xxx")
For i = 11 To .Cells(.Rows.Count, 1).End(xlUp).Row
Set hs = .Cells(i, "J")
Set ges = .Cells(i, "Q")
Set umw = .Cells(i, "R")
Set phch = .Cells(i, "S")
Select Case True
Case hs Like "*H300*" Or hs Like "*H310*"
ges.Interior.Color = RGB(235, 151, 123)
ges.Value = "sehr hoch"
Case hs Like "*H301*" Or hs Like "*H311*" Or hs Like "*H331*" Or hs Like "*H370*"
ges.Interior.Color = RGB(239, 173, 149)
ges.Value = "hoch"
Case hs Like "*H302*" Or hs Like "*H312*" Or hs Like "*H332*"
ges.Interior.Color = RGB(244, 195, 175)
ges.Value = "mittel"
Case hs Like "*H315*" Or hs Like "*H319*" Or hs Like "*H304*"
ges.Interior.Color = RGB(248, 216, 202)
ges.Value = "gering"
Case hs Like "*H400*" Or hs Like "*H410*"
umw.Interior.Color = RGB(183, 214, 155)
umw.Value = "sehr hoch"
Case hs Like "*H411*" Or hs Like "*H420*"
umw.Interior.Color = RGB(199, 223, 176)
umw.Value = "hoch"
Case hs Like "*H200*" Or hs Like "*H201*"
phch.Interior.Color = RGB(255, 229, 150)
phch.Value = "sehr hoch"
Case hs Like "*H222*"
phch.Interior.Color = RGB(255, 234, 173)
phch.Value = "hoch"
End Select
Next i
End With
End Sub


Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Das liegt in der Natur von Case (s.Hilfe!) owT
03.03.2021 15:49:38
Case


AW: Mehrere "Case" in einer Zeile
03.03.2021 17:29:12
onur
Dann musst du halt die IF-Bedingung in JEDE Case-Zeile einfügen:
Case hs Like "*H300*" Or hs Like "*H310*"
ges.Interior.Color = RGB(235, 151, 123)
ges.Value = "sehr hoch"
If ..... Then ...
Case hs Like "*H301*" Or hs Like "*H311*" Or hs Like "*H331*" Or hs Like "*H370*"
...


Anzeige
.Value = .Value & "(OK)" ...
03.03.2021 23:14:19
Luc:-?
…hast du wohl eher nicht bei erfüllter ZusatzBedingung geschrieben, Sebastian;
ansonsten halte ich auch dein Select Case-Konstrukt für ungünstig. Das kann man sicher anders(herum) aufbauen.
Gruß, Luc :-?
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige