AYUDA, código que obligue a llenar celdas

Buenas tardes compañeros, amablemente solicito su ayuda, tengo un archivo en el cúal me solicitan cierto material, pero yo debo enviarles ese material de acuerdo a ciertos parametros que tienen que llenar en dos celdas especificas, lo que espero es que si no llenan esas dos celdas no les permita ni guardar ni salir, pero realize el comando en donde la validación es mayor a 1, asi que si ponen 1 ya pueden salir, y es lo que quiero evitar.

Estoy usando este código:

Private Sub Workbook_open()
MsgBox "Bienvenida, no olvides limpiar tu archivo e ingresar tu número de alumnos en las casillas seleccionadas"
Sheets("hoja1").Select
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Range("V10") <> "" And Range("V47") Then
ActiveWorkbook.Save
Else
MsgBox ("POR FAVOR LLENA EL NUMERO DE ALUMNOS" & vbCrLf & vbCrLf & "Antes no podrá cerrar el libro"), , "vbInformation" + "ERROR DE CIERRE"
Cancel = True
End If
End Sub


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Range("V10") <> "" And Range("V47") Then
If Sheets("Hoja1").Range("V10") = "" And Sheets("Hoja1").Range("V47") = "" Then Cancel = True
InputBox "POR FAVOR COLOCA EL NÚMERO DE TUS ALUMNOS"
ActiveWorkbook.Save
Else
MsgBox ("POR FAVOR LLENA EL NUMERO DE ALUMNOS" & vbCrLf & vbCrLf & "Antes no podrá cerrar el libro"), , "vbInformation" + "ERROR DE CIERRE"
Cancel = True
End If

End Sub

Cualquier ayuda que me puedan brindar quedare muy agradecido.

1 Respuesta

Respuesta

¿Todavía tienes pendiente esta consulta? Aquí te dejo las 2 macros, para el cierre y para el guardado.

Debes colocarlas en el objeto ThisWorkbook, reemplazando a las tuyas. Se indica como Hoja1 para el control, así se te controlan esos valores no importa desde qué hoja estés llamando al cierre o al guardado.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("Hoja1").Range("V10") <> "" And Sheets("Hoja1").Range("V47") <> "" Then
    ActiveWorkbook.Save
Else
    MsgBox ("POR FAVOR LLENA EL NUMERO DE ALUMNOS" & vbCrLf & vbCrLf & "Antes no podrá cerrar el libro"), , "vbInformation" + "ERROR DE CIERRE"
    Cancel = True
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Sheets("Hoja1").Range("V10") <> "" And Sheets("Hoja1").Range("V47") <> "" Then
    ActiveWorkbook.Save
Else
    MsgBox ("COLOCA EL NÚMERO DE TUS ALUMNOS" & vbCrLf & vbCrLf & "Antes no podrá guardar el libro"), , "vbInformation" + "ERROR DE GUARDADO"
    Cancel = True
End If
End Sub

PD) En la sección Macros de mi sitio podés encontrar más ejemplos de códigos.

Sdos y no olvides valorar para dar por cerrado el tema.

PD) Esta categoría en el foro no parece estar en uso. Debes dejar tus consultas en la sección Microsoft Excel, o Visual Basic para un respuesta más inmediata.

Te recuerdo que la consulta sigue abierta... debes valorarla para darla por finalizada.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas