Macro para formato condicional con fórmula relativa

Hola

Necesito hacer una macro de referencia relativa...en la que escojo un rango y dependiendo del valor de la primera celda del rango me cambie el formato de todo el rango.

Estaba tratándolo de hacer pero al escoger la celda de la fórmula.esta me la toma como referencia absoluta..

Este es el código que sale..

Sub FormatoCondicional()
'
' FormatoCondicional Macro
'
' Acceso directo: CTRL+f
'
ActiveCell.Range("A1:AP6").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$APB19=0"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Borders(xlBottom)
.LineStyle = xlContinuous
.TintAndShade = 0
.Weight = xlThin
End With
Selection.FormatConditions(1).StopIfTrue = False
ActiveCell.Range("A1:AP6").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$APB19=0"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
Selection.FormatConditions(1).Borders(xlLeft).LineStyle = xlNone
Selection.FormatConditions(1).Borders(xlRight).LineStyle = xlNone
Selection.FormatConditions(1).Borders(xlTop).LineStyle = xlNone
Selection.FormatConditions(1).Borders(xlBottom).LineStyle = xlNone
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
ActiveCell.Range("A1:A6").Select
End Sub

El problema que tengo es con estos códigos:

Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$APB19=0"

No quiero que siempre me tome $APB19 sino que sea siempre la primera celda del rango cualquiera que escoja..

Gracias

Añade tu respuesta

Haz clic para o