ich hatte gestern schonmal etwas geschrieben, finde jetzt aber keine Möglichkeit in dem selben Thread erneut zu fragen, deswegen hier eine zweite Frage. Zur Info: Ich habe um eine Verbesserung meines Makros gebeten, welches die ausgewählte oder mehrere ausgewählte Zellen mit der linken Nachbarzelle vergleicht und mit der Abweichung als Indikator das IconSet Ampel setzt. Da bei einem IconSet ja leider nur absolute Zellbezüge erlaubt sind und man das Format deswegen nicht einfach kopieren kann habe ich die Lösung per Makro gesucht. Mein Makro hat dann Michael verbessert, sodass es auf mehrere aktive Zellen und nicht nur auf eine Zelle anwendbar ist (bestimmt nichts allzuschweres, aber ich bin ziemlicher Excel-Neuling). Folgend das aktuelle Makro:
Sub GruenWennGroesserLinkesTarget()
Dim c As Range
For Each c In Selection
c.FormatConditions.Delete
c.FormatConditions.AddIconSetCondition
c.FormatConditions(c.FormatConditions.Count).SetFirstPriority
With c.FormatConditions(1)
.ReverseOrder = False
.ShowIconOnly = False
.IconSet = ActiveWorkbook.IconSets(xl3TrafficLights1)
End With
With c.FormatConditions(1).IconCriteria(2)
.Type = xlConditionValueNumber
.Value = c.Offset(0, -1) * "0,9"
.Operator = 7
End With
With c.FormatConditions(1).IconCriteria(3)
.Type = xlConditionValueNumber
.Value = c.Offset(0, -1)
.Operator = 7
End With
Next
End Sub
Nun weiss ich nicht, wieso ich das gestern nicht gefragt habe, aber ich hole es mal nach:
Im Moment wird dank
.Value = c.Offset(0, -1) * "0,9"
.Value = c.Offset(0, -1)
der Wert der linken Nachbarzelle entsprechend errechnet und dann dauerhaft die bedingte Formatierung mit dem errechneten Wert verglichen. Ist es auch möglich an der Stelle einen (absoluten) Zellbezug auf die Nachbarzelle zu setzen?
Zur Verdeutlichung:
Mit dem jetzigen Makro muss die bedingte Formatierung jedes Mal neugesetzt werden, wenn die "Vergleichszelle" bzw. deren Wert geändert wird. Wenn man hier Zellbezüge setzen könnte, müsste sich das ja automatisch aktualisieren, oder nicht?
Gruß,
Jan