Guardar de CSV a XLS manteniendo el mismo nombre

Hola JC;
Tengo un problemilla que imagino que será super sencillo para ti, te explico: simplemente quiero guardar un archivo de CSV a XLS, solo necesito que me cambie la extensión pero que siempre me mantenga el nombre del CSV.
He utilizado la grabadora de macro pero siempre me lo guarda con el nombre Exped-0007-20090123 y yo quiero que el nombre sea el mismo que tiene el CSV. Te adjunto la parte del código que guarda el archivo a XLS
ActiveWorkbook.SaveAs Filename:= _
"G:\CONTABILIDAD\Excel transportes NAV\Exped-0007-20090123.xls", FileFormat:= _
xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
Gracias por tu ayuda, una vez más.

1 respuesta

Respuesta
1
Como verás te lo guarda con ese nombre porque así se le indica, tienes que poner el nombre que quieres en:
ActiveWorkbook.SaveAs Filename:= _
"G:\CONTABILIDAD\Excel transportes NAV\Tu_Archivo.xls", FileFormat:= _
xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
[email protected]
El problema es que cada vez que ejecuto la macro, el CSV tiene un nombre distinto y yo quiero que se mantenga ese nombre y se guarde en XLS. Es decir nunca lo guardare con un mismo nombre siempre con el nombre que tiene el archivo original sobre el que ejecuto la macro. Disculpa no me explique bien. Gracias.
Entonces debes declarar una variable con el nombre del archivo que se abrió y luego utilizarla.
Hola amigo, como verás te lo guarda con ese nombre porque así se le indica, tienes que poner el nombre que quieres en:
Dim NombreArch As String
NombreArch = "Tu_Archivo"
ActiveWorkbook.SaveAs Filename:= _
"G:\CONTABILIDAD\Excel transportes NAV\" & NombreArch & ".xls", FileFormat:= _
xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
[email protected]
Pero es que no le puedo poner un nombre a la variable del archivo, porque cada día que abro el archivo CSV, el nombre será distinto. Es decir:
Si lo abro hoy, el CSV tendrá el nombre de Exped-0007-20090123
Si lo abro mañanaña tendrá el nombre Exped-0007-20090124
Si lo abro pasado mañana Exped-0007-20090125
Yo quiero mantener el nombre del CSV que etenga cada día y que solo lo transforme a XLS
Entonces puedes poner ese nombre en una celda y listo.
NombreArch = Range("A1").Value
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas