2016-06-15 18 views
2

Die aktuelle Formel verwende ich wie folgt:für jeden Wert in der gegebenen Zelle lokalisieren und den gleichen Wert in Daten markieren

Columns("D:D").Select 
Range(Selection, Selection.End(xlToRight)).Select 
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _ 
    "=$D1='General Profiling'!$B$6" 
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
With Selection.FormatConditions(1).Interior 
    .PatternColorIndex = xlAutomatic 
    .Color = 65535 
    .TintAndShade = 0 
End With 
Selection.FormatConditions(1).StopIfTrue = True 

aber manchmal kann es Werte in C6, D6, etc was ich mir auch für die bedingte Formatierung wünschen hebe und hervorhebe.

Gibt es eine Möglichkeit, festzustellen, ob ein Wert zwischen C2 und C100 eingegeben wurde, und diese Werte dann in einer anderen Tabelle hervorzuheben?

+0

Sollte sein: Gibt es eine Möglichkeit, festzustellen, ob ein Wert zwischen B6 und Z6 eingegeben wurde, und diese Werte dann in einer anderen Tabelle hervorzuheben? – kitarika

Antwort

1

Vermeiden Sie die Verwendung der Methoden Range .Select und Range .Activate¹.

With ActiveSheet 
    With .Range(.Cells(1, "D"), .Cells(1, Columns.Count).End(xlToLeft)).EntireColumn 
     With .FormatConditions.Add(Type:=xlExpression, Formula1:= _ 
          "=COUNTIF('General Profiling'!$B$6:$Z6, $D1)") 
      .Interior.Color = vbYellow 
     End With 
    End With 
End With 

Dies wäre noch besser, wenn man die ActiveSheet property den Namen oder den Codenamen der Worksheet Object ändern könnte.


Siehe How to avoid using Select in Excel VBA macros für weitere Methoden auf wegzukommen auf ausgewählten berufen und aktivieren Sie Ihre Ziele zu erreichen.

+0

@ Jeeped: Das hat perfekt funktioniert! Ich danke dir sehr!! – kitarika

+0

Es tut uns leid, Sie noch einmal zu belästigen. Bei der bedingten Formatierung scheint es üblich zu sein, dass die Formel alle Zeilen der leeren Zelle hervorhebt, wenn der Wert der Vergleichszelle leer ist. Gibt es eine Möglichkeit, in diesem Fall leere Zellen auszuschließen? – kitarika