Guardar copia de libro autonumerada II

Necesitaría tener la macro completa, he intentado hacer algo, pero como no soy ni "principiante", no me funciona.
¿Me puede ayudar alguien?, no puedo contactar con Santiagomf

1 respuesta

Respuesta
1
He visto tarde tu pregunta, pero voy a intentar ayudarte, prueba con este trozo de código (si no sabes bien que hacer con ello, coméntamelo :
NOTA.- Saca el directorio en el que esta y yo le he llamado BORRAME al fichero y le voy añadiendo un numero, tú ponle el nombre que quireas...
Set NewBook = Workbooks.Add
    n = 1
    nombre = CurDir & "\borrame" & n & ".xls"
    Do While Dir(nombre) <> ""
        n = n + 1
        nombre = CurDir & "\borrame" & n & ".xls"
    Loop
    MsgBox n
    fName = nombre
    NewBook.SaveAs Filename:=fName
Perdona este código tiene una linea menos que no hacia falta.
Set NewBook = Workbooks.Add
    n = 1
    nombre = CurDir & "\borrame" & n & ".xls"
    Do While Dir(nombre) <> ""
        n = n + 1
        nombre = CurDir & "\borrame" & n & ".xls"
    Loop
    fName = nombre
    NewBook.SaveAs Filename:=fName
Hola Cadipas, he probado lo que me has enviado y funciona, pero quizás no me explique bien con lo que necesito, lo que me has enviado hace que al ejecutar la macro se cree un nuevo libro, si lo ejecuto dos veces, se crea dos nuevos libras con el mismo nombre e indice 1,2,...
Lo que necesito no es que se cree un nuevo libro, es que se guarde una copia del que ya tengo abierto, al cambiar el nombre por el mismo que quiero guardar me da el siguiente error:
Error 1004.
Error en el método SaveAs de la clase Workbook.
¿Qué debo hacer?
O sea, que haga una copia del libro con el nombre que tú le quieras y te mantenga en el libro actual: (lógicamente si quieres conservar el mismo nombre, tendrás que cambiar de directorio)
Con este código, hace una copia con el nombre que tú le indiques y lo guarda en el directorio que le indiques, y vuel al fichero origen.
    Set NewBook = Workbooks.Add
    Do
        fname = Application.GetSaveAsFilename(fileFilter:="Text Files (*.xls), *.xls")
    Loop Until fname <> False
    NewBook.SaveAs Filename:=fname
    ActiveWorkbook. Close
Espero haber entendido tus necesidades, de no ser así, insiste.
Quisiera guardarlos en el mismo directorio, pero con el nombre que varíe de forma secuencial:
Ejem:
Cadencia
cadencia1
cadencia2
...
Gracias
Haber si ahora acertamos, este es el mismo código que te envíe la primera vez, pero cerrando el fichero. Tú por tu parte tienes que cambiar el TITULO para que pongas el nombre del fichero y se le ira añadiendo un numero consecutivo.
Dim titulo As String
    titulo = "nombre fichero"
    Set NewBook = Workbooks.Add
    n = 1
    nombre = CurDir & "\" & titulo & n & ".xls"
    Do While Dir(nombre) <> ""
        n = n + 1
        nombre = CurDir & "\" & titulo & n & ".xls"
    Loop
    MsgBox n
    fName = nombre
    NewBook.SaveAs Filename:=fName
    ActiveWorkbook. Close

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas