¿Cómo no mostrar la base de datos en excel de una macro?

La situación es la siguiente:

Tengo una macro que se utiliza para una captura especifica con los siguientes campos (Folio, cuenta y fecha) y esta comienza al ejecutarse el archivo de excel, la macro corre en automotico y el excel se oculta con la siguiente instrucción:
Sub auto_Open()
     Hoja2.Activate
    Application.Visible = False 
    UserForm2.Show
End Sub

la instruccion Application.Visible = False  la utlize para ocultar el excel ya que el usuario no tiene que ver la base de excel solo la macro de captura, incluso en la macro inclui un boton para mostrar la base con una contraseña.
En el campo de fecha el usuario solo teclea los números de (día mes y año) ya que hice que las diagonales de la fecha aparezcan en automático pero al teclear mal en este campo se produce un error y este muestra un mensaje que dice depurar o finalizar. Cuando le das depurar va al código y cuando le das finalizar termina la macro, pero cuando incias de nuevo el archivo de excel ya no ejecuta la macro muestra la base de datos completa de excel y dice que ya esta abierto excel y esto no debería hacer cuando se produce el error de captura...
Creo que el problema es que cuando se produce un error cualquiera en la macro y se da finalizar el excel se cierra pero el proceso sigue corriendo y cuando abres de nuevo el archivo te dice que ya esta abierto y te muestra la base de excel lo cual no quiero.
Espero si me pueden ayudar para evitar estos errores o no mostrar ese mensaje de el mismo visual y evitar que puedan ver por completo la base de datos de Excel.

1 Respuesta

Respuesta
1

El problema es que deberías validar los datos en el formulario para estar seguro que está ingresando bien los datos.

En el formulario supongo que tienes un botón "Aceptar" (o algo por el estilo), lo que te recomiendo es que antes de intentar ingresar los datos directamente, primero los valides. En este caso podés utilizar la función IsDate(expresión), para asegurarte que el dato es una fecha.

Además revisa la instrucción On Error que puede ayudarte a capturar el error y que no quede tan fea la aplicación al mandarlo a la depuración.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas