¿Cómo Duplico una Hojas de Calculo?

Hola, me gustaría si me pueden ayudar, lo que sucede es que tengo dos hojas de calculo que se manejan en forma separada y me gusaría que en base a lo que se escribe en la primera se duplique en la otra hoja (estas son de libros distintos y no siempre están los dos habiertos al mismo tiempo), el mayor problema es que el libro donde se ingresan los datos es sumamente mobil, donde se eliminan filas y se agregan filas todos los días por lo que duplicar los valores en base a esta función :='C:\Documents and Settings\casa_mia\Desktop\[Oficina.xlsx]Sheet1'!C42 no me sirve ya que al agregar una fila me aparece una REF# en las seldas de la hoja 2 y si la reemplazo la formula de copiado no existe, para colmo para evitar posibles problemas de eliminar celdas que no se deverían eliminar, al momento de abrir el archivo original este lo regraban con el mismo nombre pero se le modifica la fecha y la hora (que es parte del nombre de la hija excel), por lo que le libro original cambia de nombre aproximadamente 5 a 6 veces al día.
Bueno ojala la explicación de más arriba este lo suficientemente clara para que me ayuden, es una idea que tengo y no se si se puede hacer, ojala que si.
Saludos y muchas gracias.
{"Lat":-27.0588773688806,"Lng":-71.7178916931152}

1 Respuesta

Respuesta
1
Para poder ayudarte tengo unas preguntas
¿Los dos archivos se guardan en un mismo directorio? (Por ejemplo C:\Documents and Settings\....) o se guardan en diferentes directorios.
¿Los dos archivos tienen el mismo nombre?
Si tienen el mismo nombre podrías poner un ejemplo del formato usado para dicho nombre.
Para responder a tus preguntas:
1.- Los dos archivos se guardan en el mismo directorio pero en carpetas distintas de la misma RED.
2.- Se guardan con distintos nombres, ej; mezclas, medidas.
Saludos
Bueno lo que puedes hacer en este caso es crear una macro que se ejecute antes de cerrar el archivo en el cual ingresas los datos y que guarde una copia del archivo por separado.
Para ilustrarte un poco y hacerme entender mejor usare los siguientes directorios:
C:\Documents and Settings\afarboleda\Mis documentos\prueba\carpeta1 en el cual guardaremos el documento 1.
C:\Documents and Settings\afarboleda\Mis documentos\prueba\carpeta2 en el cual guardaremos el documento 2.
Teniendo esto como base, en tu archivo crea un modulo ingresando a la ficha programador, luego a visual basic, después insertar y por ultimo insertar modulo, en el cual vas a pegar este código.
Sub Auto_close()
Call guardar1
End Sub
Sub guardar1()
    ChDir "C:\Documents and Settings\usuario\Mis documentos\prueba\carpeta2"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Documents and Settings\usuario\Mis documentos\prueba\carpeta2\documentodos(" & Format(DateTime.Date, "MMddyy") & "" & Format(DateTime.Time, "hhmmss") & ").xls" _
    ChDir "C:\Documents and Settings\usuario\Mis documentos\prueba\carpeta1"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Documents and Settings\usuario\Mis documentos\prueba\carpeta1\documentouno(" & Format(DateTime.Date, "MMddyy") & "" & Format(DateTime.Time, "hhmmss") & ").xls" _
End Sub
Con lo anterior crearas dos rutinas, la primera "Sub Auto_close()" lo que hace es llamar a la rutina "Sub guardar1() " cuando el usuario presione el botón de cerrar.
Ahora la segunda rutina "Sub guardar1()" lo que hace es guardar el documento con dos nombres distintos, en el mismo directorio pero en diferentes carpetas.
En este caso el archivo se guardara con el siguiente formato: "documentouno(060810141226).xls" la parte de "documentouno" simplemente llevaría el nombre que tu desees, y la parte entre parentesís es la fecha y la hora en que se guardo, con esto evitaras que el usuario tenga que poner un nombre nuevo cada que lo guarde.
Espero que halla sido claro, si no fue así con mucho gusto te aclarare las dudas que tengas, en caso contrario

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas