2017-01-25 2 views
-1

Momentan arbeiten an etwas, das erfordert, dass ich den folgenden Code verwenden. Ich frage mich nur, ob es sowieso kürzen oder kombinieren soll. Jede Hilfe wäre großartig. Ich entschuldige mich dafür, dass ich in den letzten Tagen so viele Fragen gestellt habe.VBA gibt es sowieso um diesen Code zu optimieren?

Sub RoutingCheck() 


    Dim i As Long, c1 As Range, c2 As Range, c3 As Range, c4 As Range 

    For i = 2 To 456 
     Set c3 = Range("C" & i) 
     Set c4 = Range("D" & i) 

If c3.Value <> 1 Or c3.Value <> 2 Or c3.Value <> 3 Or c3.Value <> 4 Or c3.Value <> 5 Or c3.Value <> 6 Or c3.Value <> 98 Then c3.Interior.color = vbRed 
If c3.Value = 1 Or c3.Value = 2 Or c3.Value = 3 Or c3.Value = 4 Or c3.Value = 5 Or c3.Value = 6 Or c3.Value = 98 Then c3.Interior.color = vbGreen 


End If 
Next i 

End Sub 
+1

Mögliche Duplikat [? Excel if-Anweisung verkürzen down] (http://stackoverflow.com/questions/41824236/excel -if-statement-short-down) – R3uK

+0

Fast die gleiche Frage, hörst du auf, dort zu antworten und hast die Antwort nicht akzeptiert ... Und du scheinst keine Information über 'Select Case' zu ​​finden, die vorgeschlagen wurde da ... Ich sage nur ... – R3uK

+0

Entschuldigung, ich dachte, dass der 'Select Case'-Befehl nur funktioniert, wenn er auch auf eine andere Spalte schaut. Mein Fehler. Danke für den Tipp, aber ich schätze es wirklich. Ich versuche nur zu lernen. – Hosey93

Antwort

1

Genau das, was Select Case dreht sich alles um, versuchen Sie den Code unten:

Sub RoutingCheck() 

Dim i As Long, c1 As Range, c2 As Range, c3 As Range, c4 As Range 

For i = 2 To 456 
    Set c3 = Range("C" & i) 
    Set c4 = Range("D" & i) 

    Select Case c3.Value 
     Case 1 To 6 
      c3.Interior.Color = vbGreen 
     Case Else 
      c3.Interior.Color = vbRed 
    End Select 

Next i 

End Sub 
+0

Super, funktioniert super. Ich habe versucht, den 'select case' Befehl zu verwenden, aber ich muss es falsch gemacht haben, da es jetzt funktioniert. – Hosey93

+0

Ich denke, ich habe es als akzeptiert markiert, nur neu hier. – Hosey93

+0

@ Hosey93 du hast, danke :) –

Verwandte Themen