Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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)
   
Antworten 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
Antworten 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
Antworten 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
Antworten 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:
Antworten Top
#6
Wie würde eine bedingte Formatierung bei diesem Sachverhalt aussehen ?
Antworten Top
#7
Code:
=UND($N1>0;$N1<40)
Schöne Grüße
Berni
Antworten Top


Gehe zu:


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