Clever-Excel-Forum

Normale Version: VBA Werte markieren, welche sich in einem bestimmten Bereich befinden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

Ich habe folgendes Problem:

Ich möchte in einer Spalte bestimmte Zahlenwerte ausfindig machen und diese farblich markieren.
Dazu habe ich diesen Code erstellt:



Code:
Sub Lagerdauer()

Dim Zeile As Long
Dim Zeilemax As Long
Dim Intervall As Integer

With Tabelle1
Zeilemax = .UsedRange.Rows.Count
For Zeile = 3 To Zeilemax
If Intervall < 40 And Intervall > 0 = .Cells(Zeile, 14).Value Then
.Cells(Zeile, 14).Interior.ColorIndex = 4
Else
.Cells(Zeile, 14).Interior.ColorIndex = xlColorIndexNone
End If

Next Zeile

End With
End Sub

Der Wertebereich liegt dabei zwischen 0 - 40.
Wenn ich den Code ausführe, werden alle leeren Felder grün (siehe Anhang).

Wie muss die Formel abgeändert werden?

MfG David
Hi


Code:
Sub Lagerdauer()

Dim Zeile As Long
Dim Zeilemax As Long
Dim Intervall As Variant

With Tabelle1
Zeilemax = .Cells(Rows.Count, 14).End(xlUp).Row
Intervall = .Range(Cells(1, 14), Cells(Zeilemax, 14)).Value
For Zeile = 3 To Zeilemax
  If Intervall(Zeile, 1) > 0 And Intervall(Zeile, 1) < 40 Then
    .Cells(Zeile, 14).Interior.ColorIndex = 4
  Else
   .Cells(Zeile, 14).Interior.ColorIndex = xlColorIndexNone
  End If

Next Zeile
End With
End Sub


Aber warum machst du es nicht einfach mit der Bedingten Formatierung?
Gruß Elex
Konnte das Problem selbst finden.

Fehler lag in dieser Zeile: 
Code:
If Intervall < 40 And Intervall > 0 = .Cells(Zeile, 14).Value Then
Änderung:
Code:
If Cells(Zeile, 14) <= 40 And Cells(Zeile, 14) >= 1 Then
.Cells(Zeile, 14).Interior.ColorIndex = 4

MfG
Zitat:Konnte das Problem selbst finden.
Nein, denn das Ganze sollte nicht mittels VBA, sondern über bedingte Formatierung gelöst werden.
@Elex

Ich wollte den Sachverhalt mit VBA darstellen, weil ich auf dieser Grundlage weiter arbeiten will.

Trotzdem Vielen Dank für deinen Code :19:
Wie würde eine bedingte Formatierung bei diesem Sachverhalt aussehen ?
Code:
=UND($N1>0;$N1<40)