Macro que cuando en una celda se cumple un criterio, me bloque otras celdas y ponga un mensaje

Buenas tardes necesito de su ayuda.

es que necesito una macro que si la celda I4 de la hoja 2, dice SI, me ponga el siguiente mensaje "No aplica", en las celdas E4 y F4 de la hoja 4, además de las celdas D4 de la hoja 5 y la celda D4 de la hoja 6; así sucesivamente si la celda I5, indica SI, aplique el mensaje "No aplica" de las celdas E4 y F4 de la hoja 4, además de las celdas D4 de la hoja 5 y la celda D4 de la hoja 6, así sucesivamente, y que las mismas queden bloqueadas.

Muchas gracias por la ayuda que me puedan brindar

1 Respuesta

Respuesta
1

Solamente me puedes explicar, cuando dices "así sucesivamente" a qué te refieres. Existen más hojas a modificar o solamente la hoja4, hoja5 y hoja6.

Disculpa cuando digo sucesivamente, no me refiero a mas hojas en el libro, si no de mas filas hacia abajo de las mismas hojas

Gracias por su ayuda

Te anexo una macro.

Instrucciones
1. Abre tu hoja de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona ALt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Para ejecutarla presiona F5

'***Macro***
Sub bloqueacelda()
'Por.dam
    'Cesbloquea hoja
    Worksheets("Hoja4").Select
    Cells.Select
    Selection.Locked = False
    Selection.FormulaHidden = False
    Worksheets("Hoja5").Select
    Cells.Select
    Selection.Locked = False
    Selection.FormulaHidden = False
    Worksheets("Hoja6").Select
    Cells.Select
    Selection.Locked = False
    Selection.FormulaHidden = False
Worksheets("Hoja2").Select
    ufila = ActiveCell.SpecialCells(xlLastCell).Row
    For i = 4 To ufila
        If Cells(i, 9).Value = "SI" Then
            Worksheets("Hoja4").Select
                Cells(i, 5).Select
                Cells(i, 5).Value = "No aplica"
                Selection.Locked = True
                Selection.FormulaHidden = False
                Cells(i, 6).Select
                Cells(i, 6).Value = "No aplica"
                Selection.Locked = True
                Selection.FormulaHidden = False
            Worksheets("Hoja5").Select
                Cells(i, 4).Select
                Cells(i, 4).Value = "No aplica"
                Selection.Locked = True
                Selection.FormulaHidden = False
            Worksheets("Hoja6").Select
            Cells(i, 4).Select
            Cells(i, 4).Value = "No aplica"
            Selection.Locked = True
            Selection.FormulaHidden = False
        End If
        Worksheets("Hoja2").Select
    Next
    Worksheets("Hoja4").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Worksheets("Hoja5").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Worksheets("Hoja6").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Worksheets("Hoja2").Select
End Sub
'***Macro***

Saludos.dam

Me parece excelente la macro, pero vieras que cuando dígito "SI", en la fila I7, I8, I9...., no me se coloca la frase o se bloquean el resto de celdas que van amarradas a si es SI de las demás hojas, hay alguna forma que te mande el archivo para que me revises si agregue la macro bien o para explicarte mejor

Ya revisaste que en las celdas E4 y F4 dice "No aplica". En tu explicación no dice que hay que llenar las celdas i7, i8, i9

Dices:

"si la celda I4 de la hoja 2, dice SI, me ponga el siguiente mensaje "No aplica", en las celdas E4 y F4 de la hoja 4"

Y terminas diciendo:

"y que las mismas queden bloqueadas."

Mi correo: [email protected]

Saludos. Dam

Para lo que solicitas no es necesaria una macro, con la siguiente fórmula puedes hacerlo.

=SI('Ingreso Unidad y Formato'! I4="SI","No aplica","")

Solamente copia la fórmula en todas las celdas de la columna.

Saludos. DaM

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas