Saltar al contenido

Condicional Excel compartido


Recommended Posts

publicado

Buenas Tardes.

Me gustaría crear un formato condicional en un Excel pero al estar compartido no me da la opción de hacerlo.  Supongo que por programación se podrá hacerle.

La condición es referente a dos celdas, si la celda E2 esta rellena y la celda F2 está vacía que la fila 2 ponga el color de la fuente en naranja y la otra sería si la celda E2 esta rellena y la celda F2 está rellena que la fila 2 ponga el color de la fuente en rojo.

Muchas gracias por vuestra ayuda.

 

publicado

sin más datos @juanmafdez, esto te debería servir
 

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address <> "$E$2" And Target.Address <> "$F$2" Then Exit Sub

Range("2:2").EntireRow.Font.ColorIndex = xlAutomatic

If [e2] <> "" And [f2] = "" Then
    Range("2:2").EntireRow.Font.Color = RGB(255, 153, 0)
ElseIf [e2] <> "" And [f2] <> "" Then
    Range("2:2").EntireRow.Font.Color = vbRed
End If

End Sub

 

publicado

Haplox muchas gracias por la respuesta.

Pero después de probar tu código solo me está cambiando el color en la fila 2, pero en la 3 o la 4 no lo cambia, supongo que es por el

Range("2:2").EntireRow.Font.ColorIndex = xlAutomatic

Por ejemplo si yo pongo en la posición e3 no se cambia de color se queda en Negro.

Muchas gracias.

 

publicado
Private Sub Worksheet_Change(ByVal Target As Range)
 
If Target.Column <> 5 And Target.Column <> 6 Then Exit Sub
 
Target.EntireRow.Font.ColorIndex = xlAutomatic
 
If Target.Column = 6 Then
    If Target.Offset(, -1) <> "" And Target = "" Then
        Target.EntireRow.Font.Color = RGB(255, 153, 0)
    ElseIf Target.Offset(, -1) <> "" And Target <> "" Then
        Target.EntireRow.Font.Color = vbRed
    End If
End If
 
If Target.Column = 5 Then
    If Target <> "" And Target.Offset(, 1) = "" Then
        Target.EntireRow.Font.Color = RGB(255, 153, 0)
    ElseIf Target <> "" And Target.Offset(, 1) <> "" Then
        Target.EntireRow.Font.Color = vbRed
    End If
End If
 
End Sub

Es que eso es lo que pedias :(. Prueba ahora

Private Sub Worksheet_Change(ByVal Target As Range)
 
If Target.Column <> 5 And Target.Column <> 6 Then Exit Sub
 
Target.EntireRow.Font.ColorIndex = xlAutomatic
 
If Target.Column = 6 Then
    If Target.Offset(, -1) <> "" And Target = "" Then
        Target.EntireRow.Font.Color = RGB(255, 153, 0)
    ElseIf Target.Offset(, -1) <> "" And Target <> "" Then
        Target.EntireRow.Font.Color = vbRed
    End If
End If
 
If Target.Column = 5 Then
    If Target <> "" And Target.Offset(, 1) = "" Then
        Target.EntireRow.Font.Color = RGB(255, 153, 0)
    ElseIf Target <> "" And Target.Offset(, 1) <> "" Then
        Target.EntireRow.Font.Color = vbRed
    End If
End If
 
End Sub

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.