Registros desde Excel a Base de Datos.

Espero que me puedan orientar con lo siguiente, es un tema nuevo para mi y ni siquiera sé donde ni con qué nombre comenzar a buscar.

El contexto es el siguiente:

Tengo una serie de 30 archivos de excel, cada trabajador utiliza un archivo, al terminar una gestión en la hoja 1, ejecuta una macro que guarda la gestión en la hoja 2 del mismo libro y deja la hoja 1 lista para una nueva gestión. Los registros que son almacenados en la hoja 2 son aproximadamente 300 semanalmente, al terminar la semana, tomamos los registros de la hoja 2 de cada uno de los 30 archivos y los acumulamos un nuevo archivo.

Existe la posibilidad de que a través de una macro u otro procedimiento cada uno de los 30 archivos guarde las gestiones en un repositorio o base de datos? Pensé en hacerlo con una macro que llamé a otro archivo de excel (que sería la base) pero pienso que entrará en conflicto cuando dos trabajadores ejecuten la macro al mismo tiempo.

¿De qué manera se podría hacer lo que necesito? ¿Existe una manera facil de hacerlo? En un acces, ¿cvs o algo así? ¿O alguna forma en excel pero que no haya conflicto si dos o más trabajadores ejecutan la macro al mismo tiempo?

Si tienen alguna información que me oriente para comenzar a buscar se los agradecería.

1 respuesta

Respuesta
1

Ten en cuenta que excel puede tardar 5 segundos en abrir un libro, copiar informacion, guardar y cerrar, con lo cual es bastante improbable que un trabajador intente abrir el libro cuando este ya esté abierto. De todos modos puedes introducir este código en tu macro antes de abrir el libro resumen que lo que hará es comprobar si está abierto o no.

    Set TestWorkbook = Nothing
    On Error Resume Next
    Set TestWorkbook = Workbooks("Resumen.xlsx")
    On Error GoTo 0
    If TestWorkbook Is Nothing Then
    TU CODIGO
    Else
    Msgbox "El libro está abierto, inténtalo de unos segundos"
    Exit sub
    End If

Si está abierto aparecerá un mensaje y se parará la macro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas