Evitar cierre...

Maestro: acabo de ver la respuesta que le diste a "Anónimo", para que evite cerrar un libro si falta una condición.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Range("A1").Value = "" Then
Cancel = True
MsgBox "Debe completar todo el formato"
End If
End Sub
Perfecto. Lo uso en varios casos, incluso con formularios. Lo probé en un caso que me interesa (no dejar cerrar un Libro SI OTRO SE ENCUENTRA ABIERTO) y funciona (la misma instrucción que le diste, y que transcribí más arriba).
Mi pregunta es: ¿Cómo sería la INSTRUCCIÓN para que VERIFIQUE si el Libro1 se encuentra ABIERTO? Esto es: si el Libro1 está abierto, NO PUEDO CERRAR EL LIBRO 2.
Algo como: If Workbooks("Libro1")... ¿Open? ¿Is Open? ¿Activate?
Me vendría de 10 (y creo que a muchos)
Un abrazo (¡Y feliz domingo!)
Oscar

1 respuesta

Respuesta
1
Pienso que podría ser así:
Dim wb As Workbook
For Each wb In Workbooks
        If wb.Name = "Workbook_Trabajo.xls" Then
                x = "Abierto"
        End If
Next wb

Entonces si por = "Abierto", entonces el libro no puede cerrarse.
Pueden haber otras formas, pero en el momento se me ocurre esa.
TAVO, no me da bola... Lo cierra igual, aunque esté abierto...
¿No le falta algo..?
La idea era que lo unieras. ¿No?
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim wb As Workbook
    For Each wb In Workbooks
         If wb.Name = "Workbook_Trabajo.xls" Then
             x = "Abierto"
        End If 
    Next wb
    If x = "Abierto" Then
        Cancel = True
        MsgBox "El archivo de Trabajo sigue abierto" 
    End If
End Sub
Algo así...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas