Como evitar que se cambien las fórmulas de las celdas j4, k4 y l4

Quiero saber como se evitar que cambien las fórmulas de las celdas j4, k4 y l4 por error.

1

1 respuesta

Respuesta
1

Tienes que proteger la hoja.

Sigue los pasos

  1. Selecciona todas las celdas.
  2. Entra a Menú Inicio, Formato, Formato de celdas, Proteger
  3. Desmarca la casilla "Bloqueada", presiona Aceptar
  4. Ahora selecciona las celdas j4, k4 y l4
  5. Entra a Menú Inicio, Formato, Formato de celdas, Proteger
  6. Marca la casilla "Bloqueada", presiona Aceptar
  7. Entra al menú Revisar, Proteger Hoja, escribe una contraseña si lo deseas; de preferencia marca todas las casillas que se encuentran abajo, presiona Aceptar, repite la contraseña, si escribiste alguna, presiona Aceptar.

Listo, si intentas modificar las celdas, te va a enviar un aviso.

Revisa si es lo que te funciona.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

¡Gracias! Dante pero no quiero proteger la hoja así, que sea mediante vba, con el evento change se puede hacer??

El evento change verifica cuando la celda ya cambió, es decir, si seleccionan la celda J4 y borran la celda J4, entonces el evento change podría activarse; pero al ver que la fórmula cambió, tendría que reconstruir la fórmula.

Pero eso sería algo complicado, porque pueden insertar filas, columnas, borrar filas o columnas y todo eso afecta la celda J4 y en cada caso se tendría que reconstruir la fórmula.

Dime qué fórmula tienes en la celda J4 y voy a tratar de hacer pruebas.

¡Gracias! No me importa esa es la idea solamente que no se pueda cambiar las fórmulas de esas celdas que intentar cambiar lo deje como estaba antes, no se si se puede con vba

Dime qué fórmula tienes en la celda J4 y voy a tratar de hacer pruebas.

En J4 tengo esto: =mayusc(texto(k4,"MMMM")), en K4 tengo esto:=fin.mes(Meses!C2;I4-1), en L4 tengo esto:=texto(K4;"aaaa"), muchas gracias.

Pon lo siguiente en los eventos de tu hoja

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Range("J4, K4, L4")) Is Nothing Then
        Application.EnableEvents = False
        Range("J4").FormulaR1C1 = "=UPPER(TEXT(RC[1],""MMMM""))"
        Range("K4").FormulaR1C1 = "=EOMONTH(meses!R[-2]C[-8],RC[-2]-1)"
        Range("L4").FormulaR1C1 = "=TEXT(RC[-1],""aaaa"")"
        Application.EnableEvents = True
    End If
End Sub

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas