Como puedo lograr que una celda cambie cuando cambias 3 celdas de manera no simultanea HELP
De aprendiz/novato) es a partir de una automacro que no puedo resolver dado, que me he olvidado y mucho del Vba en excel... ¿en qué le estoy errando o que me esta faltando? Como puedo hacer que la celda H33 y las filas de abajo cambien, si algunas de los rangos de celda C33:C64 o G33:G64, ¿o la celda $N$7 modifican su valor? Les copio el código!
Private Sub Worksheet_Change(ByVal Target As Range)
Dim fila As Integer
Dim caso As Integer
fila = Target.Row
'verifico que el cambio sea en la columna C
If Target.Column = 3 Then
'verifico que ademas el cambio sea en el rango de filas 33 hasta 64
If Target.Row >= 33 And Target.Row <= 64 Then
'Analiza las opciones de las condiciones y les atribuye un numero de caso
If Target.Value = "" Then
caso = 1
Else
If Target.Value >= 13.2 And Target.Value <= 33 Then
caso = 2
Else
If Target.Value > 33 And Target.Value <= 66 Then
caso = 3
Else
If Target.Value > 66 And Target.Value <= 500 Then
caso = 4
End If
End If
End If
End If
Select Case caso
Case 1 'celda vacia
Range("H" & fila).Select
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Range("H" & fila).Value = ""
Case 2 'entre 13.2 y 33
'evaluo si la distancia de seguridad sea mayor o igual a 0.8
If Range("G" & fila).Value >= 0.8 Then
Range("H" & fila).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Range("H" & fila).Value = "Distancia de ley cumplimentada en MT"
'sino se cumple lo anterior, será menor que 0.8
Else
Range("H" & fila).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Range("H" & fila).Value = "Verificar distancia en MT"
End If
Case 3 'entre 33 y 66
'evaluo si la distancia de seguridad sea menor a 0.9
If Range("G" & fila).Value < 0.9 Then
Range("H" & fila).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Range("H" & fila).Value = "Verificar distancia en MT"
'sino se cumple lo anterior, será mayor o igual que 0.9
Else
Range("H" & fila).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Range("H" & fila).Value = "Distancia de ley cumplimentada en AT"
End If
Case 4 'entre 66 y 500
'evaluo si la distancia de seguridad es mayor o igual a 1.5
If Range("G" & fila).Value >= 1.5 Then
Range("H" & fila).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Range("H" & fila).Value = "Distancia de ley cumplimentada en EAT"
'sino se cumple lo anterior, será menor que 1.5
Else
Range("H" & fila).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Range("H" & fila).Value = "Verificar Distancia en EAT"
End If
End Select
Range("C" & fila + 1).Select
End If
End If
End Sub
Agradecido por la mano auxiliadoraaaaaaaa
Admirable tu trabajo Dantte, saludos - Dantte Black