Cambiar nombre de archivos desde Excel con macros

Cuando he tenido la necesidad de realizar alguna labor, siempre pienso si en Excel es posible, y esta ocasión no fue la excepción.

Surge la necesidad de cambiarle el nombre a un grupo de archivos que están almacenados en el disco duro, pero por lotes, lo que implicaría cambiar el nombre uno por uno o conseguirse algún software que lo haga. Pero si ya tenemos Excel, lo hacemos en Excel.

Primeramente vamos a hacer uno de la última herramienta añadida al EXCELeINFO addin, que es la de Listar archivos, esto para tener la ruta completa y el nombre de los archivos a cambiar. Armamos el siguiente archivo:

Ver Video Cambiar nombres de archivos de manera masiva

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

En la columa D, vamos a introducir la siguiente fómula.

=IZQUIERDA(A2,ENCONTRAR(B2,A2)-1)&C2

image

 image

  • Colunma A: ruta completa del archivo a cambiar.
  • Columna B: nombre de archivo a cambiar.
  • Columna C: nombre del nuevo archivo (con extensión).
  • Columna D: fórmula que concatena la ruta del archivo anterior con el nombre nuevo.

Es indispensable o por lo menos es lo que recomiendo, que hagamos la consulta de los nombres de los archivos para tener el dato actualizado, aunque también podremos ingresar los datos manuales de ruta, nombres anterior y nuevo nombres.

Para el archivo armado en este ejemplo, utilizaremos la siguiente macro:

Sub CambiarNombre()
'Antes de correr la macro, elije las celdas que tengan la ruta
'del nombre actual, es decir a partir de A2
Dim NombreNuevo As String
Dim NombreAnterior As String
'Si no encuentra algún archivo, continuará con el siguiente
On Error Resume Next
For Each Celda In Selection
    NombreAnterior = Celda.Value
'El dato del nombre nuevo será la columna D, especificado con 3
    NombreNuevo = Celda.Offset(0, 3).Value
    Name NombreAnterior As NombreNuevo
Next Celda
On Error GoTo 0
End Sub

:: Descargar el ejemplo

Tienes comentarios, crees que te pueda servir en un futuro ?

You may also like...