Macro que copia, guarda y limpia archivo original

No se como pero he eliminado mi pregunta anterior sin querer, lo siento, espero que veas esta contestación experto.

en resumen: lo que necesito es una macro que me haga una copia de la hoja activa, y que esta copia no tenga macro ni nada y me borre el contenido de la hoja original sin que eme borre la formula asignando así un numero consecutivo y que quede lista a usar para otro documento.

Hola experto, hace unos días que te conteste, pero parece que no lo hice bien.
Bueno te comento. Lo que quiero es una macro que me guarde una copia solo de la hoja activa, esta copia sin macros ni nada solo una simple copia y que se guarde en una ruta la cual ya se le haya asignado en la macro de manera que los usuarios no tengan que introducir ninguna ruta ni nombre ya que las personas que usaran este archivo no tiene idea de informática, Tengo Excel 2010.
A tu segunda pregunta, efectivamente la macro es en el mismo libro ya tengo un botón al cual le estoy asignando el código para que me haga esta acción, el libro tiene un numero asignado en una celda el cual va aumentando cada vez que le doy a grabar.
He usado tu plantilla y al ejecutarla me sale en amarillo esto;
ActiveWorkbook.SaveAs (Ruta_para_Guardar & "C:\Users\Inventario\Desktop\CONTROL\" & Nombre_del_Archivo)
La plantilla la he usado de esta manera aver si estoy haciendo algo mal por favor.
Sub Button905_gerneras()
Dim Ruta_para_Guardar As String 'una variable que contendrá la ruta donde vamos a guardar el archivo y que es de tipo texto.
Dim Nombre_del_Archivo As String 'una variable que contendrá el nombre con el que se va a guardar el archivo.
'cogemos en la primera variable la ruta donde vamos a guardar el archivo.
Ruta_para_Guardar = ThisWorkbook.Path 'esto nos capta la ruta hasta donde tenemos el archivo que estamos ejecutando. Nos viene bien, ya que si lo tenemos en una carpeta y cambiamos de ordenador nos seguirá funcionando.
Nombre_del_Archivo = "Plantilla " & ActiveSheet.Range("n11").Value & ".xls"
'Esta segunda variable nos guarda el nombre del archivo que nos quedaría:
'Plantilla 1.xlsm, o Plantilla 2.xlsm. Etc. El número del archivo dependerá del valor que contenga la celda G1 que es donde tenemos el número del archivo.
'Ahora guardaremos el archivo en la ruta.
ActiveWorkbook.SaveAs (Ruta_para_Guardar & "C:\Users\Inventario\Desktop\CONTROL\" & Nombre_del_Archivo)
'Ahora abrimos la plantilla original
Workbooks.Open (ThisWorkbook.Path & "\Plantilla.xls")
'sumamos 1 al número de la plantilla
ActiveWorkbook.ActiveSheet.Activate
ActiveSheet.Range("n11").Value = ActiveSheet.Range("n11").Value + 1
'Limpiamos los datos de la plantilla
ActiveSheet.Range("e20:e27" & Rows.Count).Value = ""
ActiveWorkbook.sabe
End Sub

saludos a todos espero me puedan ayudar y perdón por borrar la pregunta anterior.

Añade tu respuesta

Haz clic para o