VBA Werte markieren, welche sich in einem bestimmten Bereich befinden
#1
Wink 
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


Angehängte Dateien Thumbnail(s)
   
Top
#2
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
Top
#3
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
Top
#4
Zitat:Konnte das Problem selbst finden.
Nein, denn das Ganze sollte nicht mittels VBA, sondern über bedingte Formatierung gelöst werden.
Schöne Grüße
Berni
Top
#5
@Elex

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

Trotzdem Vielen Dank für deinen Code :19:
Top
#6
Wie würde eine bedingte Formatierung bei diesem Sachverhalt aussehen ?
Top
#7
Code:
=UND($N1>0;$N1<40)
Schöne Grüße
Berni
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste