Anzeige
Archiv - Navigation
1204to1208
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

Anpassung Makro

Anpassung Makro
Sandra
Hallo zusammen,
ich habe folgendes Makro:
Sub Werte_größer_60_färben()
Dim Zelle As Range
Dim Bereich As Range
Set Bereich = Range("D2:D10000")
For Each Zelle In Bereich
If Zelle  "" And Zelle > 60 Then
With Zelle
.Interior.ColorIndex = 3
'  .Font.Bold = True
End With
End If
Next Zelle
End Sub
Nun soll aber auch die Zelle in Spalte C um das Kriterium "Vertrieb" geprüft werden. Nur wenn
beide Kriterien
Zelle in Spalte C = Vertrieb
Zelle in Spalte D > 60
vorliegen, dann soll die Zelle in Spalte D rot werden.
Wer kann mir hierbei helfen? Ich kriege es nicht hin.
LG
Sandra

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Anpassung Makro
10.03.2011 19:10:18
Ralf_P
Hallo Sandra,
Sub Werte_größer_60_färben()
Dim Zelle As Range
Dim Bereich As Range
Set Bereich = Range("D2:D10000")
For Each Zelle In Bereich
If Zelle  "" And Zelle > 60 And Zelle.Offset(0, -1) = "Vertrieb" Then
With Zelle
.Interior.ColorIndex = 3
'  .Font.Bold = True
End With
End If
Next Zelle
End Sub

VG, Ralf
AW: Anpassung Makro
10.03.2011 19:53:59
Reinhard
Hallo Sandra,
Zelle""
brauchste nicht. Ich hab den Code von Ralf mal ergänzt.
Sub Werte_größer_60_färben()
Dim Zelle As Range, Bereich As Range
Set Bereich = Range("D2:D10000")
Application.ScreenUpdating = False
Bereich.Cells.Interior.ColorIndex = xlNone
For Each Zelle In Bereich
If Zelle.Value > 60 And Zelle.Offset(0, -1).Value = "Vertrieb" Then
With Zelle
.Interior.ColorIndex = 3
'.Font.Bold = True
End With
End If
Next Zelle
Application.ScreenUpdating = True
End Sub

Gruß
Reinhard
Anzeige
Funktioniert perfekt, vielen Dank!
10.03.2011 20:09:34
Sandra
und Offset geht auch ohne die Null
10.03.2011 20:12:49
Matthias
Hallo
also statt Offset(0, -1) einfach ohne die "0"
.. Offset(, -1) ... reicht schon
und
Application.ScreenUpdating = True ist auch nicht unbedingt nötig
Das kannst Du z.B. so testen
Option Explicit
Sub Werte_größer_60_färben()
Dim Zelle As Range, Bereich As Range
MsgBox Application.ScreenUpdating, vbInformation, "Status der Bildschirmaktualisierung"
Application.ScreenUpdating = False
Set Bereich = Range("D2:D10000")
For Each Zelle In Bereich
If Zelle > 60 And Zelle.Offset(, -1) = "Vertrieb" Then Zelle.Interior.ColorIndex = 3
Next Zelle
Set Bereich = Nothing
End Sub
Gruß Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige