Al abrir archivo de excel tome el nombre o valor de una celda.

Tengo un archivo de orden de compra que se almacena en Google drive, mi idea es que cuando una persona lo abra tome el valor de la celda folio, por ejemplo 0001, si otro usuario lo abre tome el 002, y así sucesivamente, esto con la idea de que lo puedan abrir y trabajar simultáneamente, ¿es posible esto?

1 Respuesta

Respuesta
2

¿Lo qué quieres es que cada vez que un usuario lo abra tenga un nombre diferente? Es decir que haya una macro AutoOpen que detecte cual fue el útlimo número generado y que renombre al archivo con otro número... en ese momento estamos hablando de "otro" archivo... lo de trabajar simultáneamente yo no aplica pues estas trabajando en dos archivos diferentes.

Si lo que busca es trabajar simulateamente EN EL MISMO ARCHIVO... tienes que usar Office365 y usar la coautoria que aloja el archivo en el OneDrive (nube), lo compartes y desde alli todos los usuarios que lo abran desde Office365 o desde Office Online trabajarán en simultáneo EN EL MISMO ARCHIVO.

Todos mis usuarios trabajan bajo Office2019,¿ahí no es posible?

Gracias

Y en caso de que no, ¿cómo podría hacer lo del AutoOpen? Muy amable

En el archivo que tienes en el Drive inserta una hoja llamada "oculta" y escóndela para que no sea visible.

Ve al editor de VBA (Alt F11) y en el módulo ThisWorkbook inserta este código (reemplaza "Trabajo" por lo que estimes conveniente)

Private Sub Workbook_Open()
Dim i As Integer
Dim nombre As String
Dim ruta As String
Application.DisplayAlerts = False
ruta = ThisWorkbook.Path
nombre = "Trabajo"       ' cambiar esto al nombre deseado
i = Sheets("oculta").Range("A1")
i = i + 1
Sheets("oculta").Range("A1") = i
ThisWorkbook.Save
ThisWorkbook.SaveAs _
    Filename:=Path & "\" & nombre & Format(i, "00000") & ".xlsm", _
    FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Application.DisplayAlerts = True
End Sub

Graba el archivo y ciérralo, la próxima vez que lo abras generará un nuevo archivo con un código correlativo iniciando en 00001 y te durará hasta el 32767.

Nota1: con esta macro perderás el acceso al archivo original o matriz pues automáticamente generará una copia... si deseas que esto no ocurra, (o deseas acceder acceder al archivo original para corregir el correlativo y retroceder en la numeración) ejecuta en la ventana inmediato el código

Application.EnableEvents = False     antes de abrirlo para modificar el original y luego cierra Excel.

Nota2: Si cada persona trabaja con un archivo diferente podrían crearse inconsistencia en los datos, y después sería otro asunto unir toda la información.

Nota3: Si el archivo original es solo una plantilla y no se debe guardar nada alli entonces esta es tu solución.

No olvides finalizar y calificar la pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas