ich bin ziemlicher Excel-Neuling und habe zu einem respektiven Makro eine Frage. Da ich mir das Makro selber zusammengebastelt habe und mich in VBA praktisch nicht auskenne bitte ich um Verständnis für meine Unwissenheit.
Ich habe mich für folgende Variante entschieden, da Symbolsätze ja leider nicht einfach auf mehrere Zellen angewandt werden können, da nur absolute Zellbezüge erlaubt sind.
Das Makro soll zuerst bestehende bedingte Formatierungen löschen und dann den Symbolsatz "Ampeln" entsprechend eines Vergleichs zweier Zellen setzen. Hierzu wird die aktive Zelle mit der linken Nachbarzelle verglichen und die Ampel grün geschaltet, wenn der Wert größergleich, gelb geschaltet, wenn der Wert um bis zu 10 Prozent nach unten abweicht und rot geschaltet, wenn der Wert noch kleiner ist. Soviel zur Theorie, hier mein Makro:
Sub GruenWennGroesserLinkesTarget()
' GruenWennGroesserLinkesTarget Makro
ActiveCell.Select
Selection.FormatConditions.Delete
Selection.FormatConditions.AddIconSetCondition
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1)
.ReverseOrder = False
.ShowIconOnly = False
.IconSet = ActiveWorkbook.IconSets(xl3TrafficLights1)
End With
With Selection.FormatConditions(1).IconCriteria(2)
.Type = xlConditionValueNumber
.Value = ActiveCell.Offset(0, -1) * "0,9"
.Operator = 7
End With
With Selection.FormatConditions(1).IconCriteria(3)
.Type = xlConditionValueNumber
.Value = ActiveCell.Offset(0, -1)
.Operator = 7
End With
End Sub
Das ganze klappt soweit auch wie es soll, jedoch würde ich gerne mehrere Zellen auf einmal bearbeiten, welche ich vorher markiere/auswähle. Also: Ich markiere einen unbestimmt großen Zellbereich einer bestimmten Spalte und wende das Makro an, sodass obenstehendes Makro auf alle ausgewählten Zellen angewandt wird.ist dies ohne großen Aufwand möglich? Oder gibt es sonst noch Vorschläge?
Grüße, Jan