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 ?

16 thoughts on “Cambiar nombre de archivos desde Excel con macros”

  1. Pingback: Cambiar nombre de archivos desde Excel con macros « MVPs de LATAM

  2. Pingback: EXCELeINFO – Excel vba e información - Mover archivos de una carpeta a otra desde Excel con macros

  3. Muchas gracias, es muy util, pero una vez has abierto los archivos en excel, ? como se ejecuta para que realice los cambios en los archivos??
    Gracias

    1. sergioacamposh

      No entiendo muy bien tu pregunta. Nos archivos a los que les quieres cambiar el nombre deben estar cerrados.

      Se te presenta alguna situación en especifico ??

      1. Daniel Ordóñez Escalante

        me podrias enseñar como ejecutar el script para que realice el cambio de nombre?

  4. Hola, una duda sabrás si se podrá realizar esto pero para cambiar el nombre a las hojas de Excel de varias archivos.

  5. Daniel Ordóñez Escalante

    mi pregunta, algo tardia, pero como se supone que se ejecuta este script para que realice el cambio de los nombre?

          1. adrian mancini

            Hola, perdón por las molestias. No me funciona. Hice la prueba solo con un archivo y no pasa nada. Consulta: tengo que ejecutar algo mas en esa fórmula de la columna D? Porqe voy al explorador de Windows donde está el archivo original y no está el nuevo. Me ayudas por favor? Desde ya mil gracias..!

  6. Hola, muchas gracias por la info! pero hay algún video de como hacer esto? no me manejo mucho con las macros.. saludos!

  7. fernando islas

    Hola
    Cuando ejecuto la macro solo lo hace con la fila seleccionada, si la ejecuto en A2 se cambia solo el nombre al archivo que hace referencia, por lo que para que realice la tarea de las demás filas tengo que seleccionar A3, A4, etc. y con un atajo (crtl+x) se puede cambiar el nombre a todos los archivos aunque sea de uno por uno es mas rapido que realizarlo en el explorador de archivos.

    Aunque si es más rápido que realizar la tarea por medio del explorador, todavia me queda duda de por que no se realiza en todos los archivos a la vez.

    la version de office es 2016 y la macro es la que se descarga con el ejemplo

    ‘Sergio A Campos H
    ‘http://exceleinfo.wordpress.com
    ’03-Oct

    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

    Si me puede apoyar revisando por que no se ejecuta en todos los archivos a la vez quedare muy agradecido.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top