Para Dam. Falla en Macro de inicio

Dam ayudame cion esta duda:

Tengo esta en el Open, como podrás ver hay varias cosas de control, algo tengo mal con los IF ya que si coloco de primero el del lunes se ejecuta bien esa pero la del horario no, los invierto y funciona bie la del horario pero no la del dia.

Que debo corregir?

Private Sub Workbook_Open() ExecuteExcel4Macro ("show.toolbar(""ribbon"",1)") Application.DisplayStatusBar = True Application.DisplayFormulaBar = True ActiveWindow.DisplayWorkbookTabs = True

Application.WindowState = xlNormal

Worksheets("Home").Activate Range("I14").Select

If (Hour(Time) >= 20 And Hour(Time) <= 23) Then MsgBox "Herramienta cerrada; recuerde los horarios establecidos" ActiveWorkbook.Close False

If (Hour(Time) >= 0 And Hour(Time) <= 6) Then MsgBox "Herramienta cerrada; recuerde los horarios establecidos" ActiveWorkbook.Close False

Dim quedia As Integer quedia = Application.WorksheetFunction.Weekday(Date)

'si no es lunes finaliza el control

If quedia <> 2 Then Exit Sub

'si es lunes cierra el libro y la aplicación MsgBox "Herramienta cerrada; hoy es Lunes, mañana podrá darle uso" ActiveWorkbook.Close False
End If

End If

If Date <= DateSerial(2013, 3, 30) Then Exit Sub

Application.EnableCancelKey = xlErrorHandler

On Error GoTo Ver_Error

licenciauso = InputBox("Versión caducada - Introducir la licencia de uso") If licenciauso <> "CLAVE" Then

MsgBox "Clave incorrecta; VUELVA A INTRODUCIR LA LICENCIA DE USO"

licenciauso2 = InputBox("licencia de uso 2ª oportunidad")

If licenciauso2 <> "CLAVE" Then MsgBox "Clave incorrecta; ULTIMA OPORTUNIDAD PARA INTRODUCIR LA LICENCIA DE USO"

licenciauso3 = InputBox("licencia de uso 3ª y Ultima oportunidad")

If licenciauso3 <> "CLAVE" Then ActiveWorkbook.Close

End If

End If

End If

GoTo fin

Ver_Error: ActiveWorkbook.Close
fin:

End Sub

Quedo atento a tu respuesta.

1 Respuesta

Respuesta
1

Reemplaza esta parte

If (Hour(Time) >= 20 And Hour(Time) <= 23) Then MsgBox "Herramienta cerrada; recuerde los horarios establecidos" ActiveWorkbook.Close False
If (Hour(Time) >= 0 And Hour(Time) <= 6) Then MsgBox "Herramienta cerrada; recuerde los horarios establecidos" ActiveWorkbook.Close False
Dim quedia As Integer quedia = Application.WorksheetFunction.Weekday(Date)
'si no es lunes finaliza el control
If quedia <> 2 Then Exit Sub
'si es lunes cierra el libro y la aplicación MsgBox "Herramienta cerrada; hoy es Lunes, mañana podrá darle uso" ActiveWorkbook.Close False
End If
End If

Por esta

Dim quedia As Integer
quedia = Application.WorksheetFunction.Weekday(Date)
'si no es lunes finaliza el control
If quedia <> 2 Then
'si es lunes cierra el libro y la aplicación
MsgBox "Herramienta cerrada; hoy es Lunes, mañana podrá darle uso"
ActiveWorkbook.Close False
Exit Sub
Else
If (Hour(Time) >= 20 And Hour(Time) <= 23) Then
MsgBox "Herramienta cerrada; recuerde los horarios establecidos"
ActiveWorkbook.Close False
End If
If (Hour(Time) >= 0 And Hour(Time) <= 6) Then
MsgBox "Herramienta cerrada; recuerde los horarios establecidos"
ActiveWorkbook.Close False
End If
End If

Prueba y me comentas.

Saludos. Dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas