Comparar columnas

Hola, buenos días
Tengo un problema con una macro en un documento de Excel que no consigo hacer funcionar.
Quiero colorear las celdas de la columna B en función de unas comparaciones entre columnas. Debe rastrear las filas de la 10 a la 30. La condición a imponer es que siempre que los valores de la columna QUE no aparezcan en negrita, se cumplan las siguientes sentencias:
Si los valores de la columna QUE son menores que los de la columna QUE, entonces ColorIndex=33
Si los valores de la columna QUE son menores que los de la columna QUE y los de la columna R son mayores que los de la B, entonces ColorIndex=45
Si los valores de la columna B son mayores o iguales a los de la QUE, entonces ColorIndex=3
Muchas gracias

1 respuesta

Respuesta
1
Disculpa la demora :
Te adjunto una macro para que la evalúes:
Sub Comparar()
Dim resp1 As String, resp2 As String, resp3 As Long
'resp1 = InputBox("Ingrese el primer rango")
'resp2 = InputBox("Ingrese el Seguno rango")
'resp3 = InputBox("Cantidad de repeticiones")
resp1 = "k1" 'columna K
resp2 = "Q1" ' columna Q
resp3 = 20 ' CANTIDAD DE REPETICIONES DEL CICLO debe rastrear las filas de la 10 a la 30 = 20
X1 = Range(resp1).Column
Z1 = Range(resp1).Row
X2 = Range(resp2).Column
Z2 = Range(resp2).Row
For H = 1 To resp3 ' HACES UN FOR PARA RASTREAR CUANTAS VECES QUIERAS
If Cells(Z1, X1).Font.Bold = True Then 'Verificaion K en negrita
Else
Valor2 = Cells(Z2, X2).Value 'VALOR Q
Valor1 = Cells(Z1, X1).Value ' VALOR K
Valor3 = Cells(Z1, 18).Value ' VALOR R
Valor4 = Cells(Z1, 2).Value ' VALOR B
'Si los valores de la columna Q son menores que los de la columna K
'y los de la columna R son mayores que los de la B, entonces ColorIndex=45
If Valor2 < Valor1 And Valor3 > Valor4 Then
Cells(Z1, 2).Select ' ESTA CELDA MODIFICA LA COLUMA B = 2
With Selection.Interior
ColorIndex = 45
.Pattern = xlSolid
End With
GoTo SALIDA:
End If
' SI Q ES MENOR QUE K
If Valor2 < Valor1 Then
Cells(Z1, 2).Select ' ESTA CELDA MODIFICA LA COLUMA B = 2
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
GoTo SALIDA:
End If
'Si los valores de la columna B son mayores o iguales a los de la K, entonces ColorIndex=3
If Valor4 >= Valor1 Then
Cells(Z1, 2).Select ' ESTA CELDA MODIFICA LA COLUMA B = 2
With Selection.Interior
ColorIndex = 3
.Pattern = xlSolid
End With
GoTo SALIDA:
End If
End If
SALIDA:
Z1 = Z1 + 1
Z2 = Z2 + 1
Next H
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas