Retroceder   Foros del Web > Temas generales de computación > Ofimática

Respuesta
 
Herramientas Desplegado
Antiguo 09-mar-2007, 08:57   #1 (permalink)
AvP
AvP ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2004
Mensajes: 84
Macro

Que tal, espero alguien me pudiera ayudar con lo siguiente:
He creado una macro para que me guarde un archivo de excel en la ubicacion actual y tambien me crea una copia en otro lugar.
Lo que no se es como hacer para que la copia se guarde con el mismo nombre del archivo original sin tener que estar escribiendolo.
pongo el codigo:

Sub GuardarAntesCerrar()
ActiveWorkbook.Save
ActiveWorkbook.SaveCopyAs "ruta y nombre de archivo copia"
End Sub

De antemano gracias.
AvP está desconectado   Responder Citando
Antiguo 11-mar-2007, 05:04   #2 (permalink)
gmansi ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2005
Mensajes: 528
Re: Macro

No es difícil usa

ActiveWorkbook.Name para cargar en una variable el nombre de tu libro actual

ejemplo

Nombreaguardar=ActiveWorkbook.Name

luego usas

ActiveWorkbook.SaveCopyAs "ruta" + Nombreaguardar
gmansi está desconectado   Responder Citando
Antiguo 11-mar-2007, 05:05   #3 (permalink)
gmansi ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2005
Mensajes: 528
Re: Macro

Mira este ejemplo:

http://www.excelworker.virtuabyte.cl...id=3&Itemid=27

Crear Hoja, Renombrarla, Copiarla y Eliminarla



En el ejemplo se crea una nueva Hoja (Método Add), se obtiene su número de índice (Propiedad Index) y se le da el nombre “Ejemplo” (Propiedad Name). Luego se mueve la hoja creada a continuación de la Hoja2 (Método Move) y se obtiene nuevamente el número de índice de la hoja debido a que cambió de posición. Por último la hoja nueva llamada “Ejemplo” se copia a continuación de la Hoja2 (Método Copy) y a la copia se le da el nombre “Copia de Ejemplo” (Propiedad Name) para luego eliminar la hoja llamada “Ejemplo” (Método Delete).





Sub CreaHoja()



Dim indice As Integer



Application.ActiveWorkbook.Worksheets.Add

indice = Application.ActiveWorkbook.ActiveSheet.Index

Application.ActiveWorkbook.ActiveSheet.Name = "Ejemplo"



Application.ActiveWorkbook.Worksheets(indice).Move After:=Hoja2



indice = Application.ActiveWorkbook.ActiveSheet.Index



Application.ActiveWorkbook.Worksheets(indice).Copy After:=Hoja2



Application.ActiveWorkbook.Worksheets(indice).Name = "Copia de Ejemplo"



Application.ActiveWorkbook.Worksheets(indice + 1).Delete



End Sub
gmansi está desconectado   Responder Citando
Antiguo 15-mar-2007, 15:39   #4 (permalink)
AvP
AvP ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2004
Mensajes: 84
Re: Macro

Ok, gracias gmansi por la ayuda, he logrado hacerlo.
Un saludo
AvP está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 09:04.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93