Aplicar Macro a todas las columnas

Señor DAM  Como puedo replicar su macro para que funcione de la columna A hasta la GZ. Ya que si le remplazo la letra de la columna llego al punto en el que VBA me dice que el macro es demasiado largo.

ub opcion1()
'Por.DAM
For i = 4 To Range("F" & Rows.Count).End(xlUp).Row
If Cells(i, "F").HasFormula Then
f = Cells(i, "F").Formula
If InStr(1, f, "+1") > 0 Or _
InStr(1, f, "+2") > 0 Or _
InStr(1, f, "+3") > 0 Or _
InStr(1, f, "+4") > 0 Or _
InStr(1, f, "+5") > 0 Or _
InStr(1, f, "+6") > 0 Or _
InStr(1, f, "+7") > 0 Or _
InStr(1, f, "+8") > 0 Or _
InStr(1, f, "+9") > 0 Or _
InStr(1, f, "-1") > 0 Or _
InStr(1, f, "-2") > 0 Or _
InStr(1, f, "-3") > 0 Or _
InStr(1, f, "-4") > 0 Or _
InStr(1, f, "-5") > 0 Or _
InStr(1, f, "-6") > 0 Or _
InStr(1, f, "-7") > 0 Or _
InStr(1, f, "-8") > 0 Or _
InStr(1, f, "-9") > 0 Then
Cells(i, "F").Interior.ColorIndex = 8
End If
End If
If Cells(i, "H").HasFormula Then
f = Cells(i, "H").Formula
If InStr(1, f, "+1") > 0 Or _
InStr(1, f, "+2") > 0 Or _
InStr(1, f, "+3") > 0 Or _
InStr(1, f, "+4") > 0 Or _
InStr(1, f, "+5") > 0 Or _
InStr(1, f, "+6") > 0 Or _
InStr(1, f, "+7") > 0 Or _
InStr(1, f, "+8") > 0 Or _
InStr(1, f, "+9") > 0 Or _
InStr(1, f, "-1") > 0 Or _
InStr(1, f, "-2") > 0 Or _
InStr(1, f, "-3") > 0 Or _
InStr(1, f, "-4") > 0 Or _
InStr(1, f, "-5") > 0 Or _
InStr(1, f, "-6") > 0 Or _
InStr(1, f, "-7") > 0 Or _
InStr(1, f, "-8") > 0 Or _
InStr(1, f, "-9") > 0 Then
Cells(i, "H").Interior.ColorIndex = 8
End If
End If
Next
End Sub

Saludos !! 

Muchas Gracias

Respuesta
1

¿Quieres qué funcione para todas las columnas?, es decir, ¿qué funcione para toda la hoja? ¿Qué revise todas las celdas de la hoja?

Y lo que quieres que aplique para cada celda es esto:

If Cells(i, "F").HasFormula Then
    f = Cells(i, "F").Formula
    If InStr(1, f, "+1") > 0 Or _
        InStr(1, f, "+2") > 0 Or _
        InStr(1, f, "+3") > 0 Or _
        InStr(1, f, "+4") > 0 Or _
        InStr(1, f, "+5") > 0 Or _
        InStr(1, f, "+6") > 0 Or _
        InStr(1, f, "+7") > 0 Or _
        InStr(1, f, "+8") > 0 Or _
        InStr(1, f, "+9") > 0 Or _
        InStr(1, f, "-1") > 0 Or _
        InStr(1, f, "-2") > 0 Or _
        InStr(1, f, "-3") > 0 Or _
        InStr(1, f, "-4") > 0 Or _
        InStr(1, f, "-5") > 0 Or _
        InStr(1, f, "-6") > 0 Or _
        InStr(1, f, "-7") > 0 Or _
        InStr(1, f, "-8") > 0 Or _
        InStr(1, f, "-9") > 0 Then
        Cells(i, "F").Interior.ColorIndex = 8
    End If
End If

Utiliza la siguiente macro, te va a revisar todas las celdas de tu hoja que tengan fórmula.

Sub opcion1a()
'Por.DAM
For Each c In ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas, 23)
    For i = 1 To 9
        If InStr(1, c.Formula, "+" & i) > 0 Or _
           InStr(1, c.Formula, "-" & i) > 0 Then c.Interior.ColorIndex = 8
    Next
Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas