Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1816to1820
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

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


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*"
...


.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 :-?
Anzeige

79 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige