Macros excel según cantidad de grabaciones que se active hoja

Según el numero de veces que haya grabado el archivo, será la hoja que vea uso el siguiente código, pero no me resulta.

Private Sub Workbook_Open()
HojaC = "INGRESO1"
CeldaC = "A1"
TopeGrab = 14
If Sheets(HojaC).Range(CeldaC).Value > TopeGrab - 7 Then '7
        Sheets("INGRESO1").Activate
        End If
   If Sheets(HojaC).Range(CeldaC).Value > TopeGrab - 6 Then '8
        Sheets("INGRESO3").Activate
        End If
    If Sheets(HojaC).Range(CeldaC).Value > TopeGrab - 5 Then '9
        Sheets("INGRESO4").Activate
        End If
            If Sheets(HojaC).Range(CeldaC).Value > TopeGrab - 1 Then '13
        Sheets("INGRESO5").Activate
Else
    Sheets(HojaC).Activate
End If

Respuesta
1

utiliza select case

https://macrosenexcel.com/como-usar-intruccion-select-case-en/ 

1 respuesta más de otro experto

Respuesta
1

[Hola

Si el valor de la celda A1 de la hoja "NGRESO1" es cualquier valor mayor a 14, siempre te llevará a tu hoja "Ingreso5" pues todos tus "If" se evalúan ya que ninguno tiene un "Exit sub" para salir de la rutina. Por cierto, así les coloques los "Exit sub", está mal pensada la rutina, en todos los casos usas "mayor qué" (>) y casi siempre TODOS serán así. Quizá deberías usar igual (=), o "And"  u  "Or".

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas