¿Qué código VBA de Excel puedo utilizar para que excel no me permita grabar a menos que edite o modifique una o más casillas?

Estoy intentando hacer una planilla Excel para que los funcionarios llenen si o si las casillas obligatorias, intenté usar el de no grabar con casillas vacías, pero no me permitía guardar a mi tampoco la planilla con las celdas vacías (obviamente).

1 respuesta

Respuesta
-1

No entiendo que exactamente requieres, pero acá seguro encontrarás algo que te sea de utilidad.

Puedes hacer que cuando se modifique la hoja un controlador se vuelva por ejemplo uno luego al presionar guardar lo detecte y si es uno guarde porque modificaste sino no haga nada, algo así

En worksheet (la hoja en que trabajas)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

control=1 ' es decir al modificar la hoja el control se hace igual a uno

End Sub

En thisworkbook va esto

Private Sub Workbook_AfterSave(ByVal Success As Boolean)

If control=0 ' el control no permite guardar si es igual a cero es decir si no se hizo modificación
MsgBox "Comando Inhabilitado en AplicativoControl !!!", vbCritical + vbOKOnly, "INFRACCION DE USO !!!": Cancel = True

End if
End Sub

En modulo debes declarar la variable publica

public control

Acá fíjate como se declaran variables publicas para ser usadas en otros procedimientos

https://youtu.be/0UuR_zRQCB4

Acá se guarda una macro en el evento open de thisworkbook, para que veas donde debería el código que controla que se haya modificado alguna celda antes de guardar, si bien en el ejemplo el macro está en evento open tu copia el código de más arriba que usa el ventó aftersave

https://youtu.be/BLHMY0UhdoY 

https://programarexcel.com

https://youtube.com/programarexcel 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas