Macro para copiar una hoja excel a 2 subcarpetas.

26/02/2005 - 15:02 por JBS | Informe spam
Hola. Buenas tardes.

Necesitaria crear una macro en excel para que al ejecutarla copiase la hoja
actual en otras 2 subcarpetas con nombres diferentes (tendria que preguntar
ambos 2 nombres y permitir reemplazar).

gracias por leerme.


Jose

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
26/02/2005 - 19:27 | Informe spam
"JBS" escribió en el mensaje news:
Hola. Buenas tardes.

Necesitaria crear una macro en excel para que al ejecutarla copiase la hoja
actual en otras 2 subcarpetas con nombres diferentes (tendria que preguntar
ambos 2 nombres y permitir reemplazar).

gracias por leerme.


Jose




Mira si te sirve esto:

Sub prueba()
ThisWorkbook.SaveAs Application.GetSaveAsFilename("C:\Carpeta1", "Libros de Excel (*.xls), *.xls")
ThisWorkbook.SaveAs Application.GetSaveAsFilename("C:\Carpeta2", "Libros de Excel (*.xls), *.xls")
End Sub

Si no quieres que aparezca la advertencia de seguridad cuando se va a "machacar" un archivo existente, pon la instrucción

Application.DisplayAlerts = False

como primera instrucción del Sub, y

Application.DisplayAlerts = True

como última.


En el código, tendrás que sustituir Carpeta1 y Carpeta2 por los nombres reales de los directorios.
Un saludo.


Fernando Arroyo
MS MVP - Excel
Respuesta Responder a este mensaje
#2 JBS
02/03/2005 - 12:27 | Informe spam
Buenos dias.

Muchas gracias, funciona perfectamente, abusando un poco, me gustaria que
cuando graba la segunda vez, es decir en la segunda carpeta no preguntase,
salvase con el mismo nombre que le ponga en la primera ¿?


Jose.
Respuesta Responder a este mensaje
#3 Fernando Arroyo
02/03/2005 - 12:40 | Informe spam
"JBS" escribió en el mensaje news:
Buenos dias.

Muchas gracias, funciona perfectamente, abusando un poco, me gustaria que
cuando graba la segunda vez, es decir en la segunda carpeta no preguntase,
salvase con el mismo nombre que le ponga en la primera ¿?


Jose.




Sub prueba()
Dim strNombre As String
strNombre = Application.GetSaveAsFilename("C:\Carpeta1", "Libros de Excel (*.xls), *.xls")
ThisWorkbook.SaveAs strNombre
ThisWorkbook.SaveAs "C:\Carpeta2" & Mid(strNombre, InStrRev(strNombre, "\"))
End Sub

Un saludo.


Fernando Arroyo
MS MVP - Excel
Respuesta Responder a este mensaje
#4 JBS
02/03/2005 - 13:25 | Informe spam
Buenos dias.

1.000.000 de gracias, perfecto, espero no tener que molestar mas, pero no
aseguro, je, je

JBS
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida