Prohibir ejecutar macros en hojas especificas

Dan disculpa de moleste de nuevo

Mira no se si tengas tiempo de ayudarme en un código en el cual no pueda ejecutar mis macros si estoy en una hoja especifica

Estos son los códigos que se deben cancelar al ejecutarse en una hoja especifica

Sub SEGUNDO_P()
Application.ScreenUpdating = False
Application.OnKey "{f6}", "DOS"
End Sub
Sub DOS()
HOLA_2
End Sub
Sub QUITAR_F()
Application.ScreenUpdating = False
Application.OnKey "{f7}", "SIN_FILTRO"
End Sub
Sub SIN_FILTRO()
QUITAR_FILTRO
End Sub
Sub FORMULARIO()
Application.ScreenUpdating = False
Application.OnKey "{f4}", "HOJAS"
End Sub
Sub HOJAS()
ENTREHOJA.Show
End Sub

Sub impresion_final()
Application.ScreenUpdating = False
Application.OnKey "{f10}", "I_F"
End Sub
Sub I_F()
oculta_col
End Sub

Todos son accesos directos con las F

Osea por ejemplo si estoy en la hoja "MERMAS"

Y quiero apretar alguna F que haga referencia a mi macro este me salga un msgbox

Diciendo que no podéis ejecutarse en este hoja la macro

1 respuesta

Respuesta
3

Te anexo un ejemplo para que lo adaptes en todas tus macros

Con esta macro, entiendo que estás activando la tecla F6 y si la presionan que ejecute la macro DOS

Sub SEGUNDO_P()
Application.ScreenUpdating = False
Application.OnKey "{f6}", "DOS"
End Sub

Esto es lo que tienes en tu macro "DOS"

Sub DOS()
HOLA_2
End Sub

Tu macro "DOS" debería quedar así:

Sub DOS()
    If ActiveSheet.Name = "MERMAS" Then
        MsgBox "no podéis ejecutarse en este hoja la macro"
        Exit Sub
    End If
    HOLA_2
End Sub

¿Esta excelente dan muchas gracias en caso de que sea más de una hoja donde quiero prohibir quedaría así?

Sub DOS()
    If ActiveSheet.Name = "MERMAS","ventas",produccion" Then
        MsgBox "no podéis ejecutarse en este hoja la macro"
        Exit Sub
    End If
    HOLA_2
End Sub

Quedaría así:

Sub DOS()
    Select Case ActiveSheet.Name
        Case "MERMAS", "ventas", "produccion"
            MsgBox "no podéis ejecutarse en este hoja la macro"
            Exit Sub
    End Select
    HOLA_2
End Sub

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas