Skip to main content

¿Cómo cambiar el nombre de todos los archivos de imagen en una carpeta según una lista de celdas en Excel?

Author: Sun Last Modified: 2025-06-04

¿Alguna vez has necesitado cambiar el nombre de varias imágenes en una carpeta basándote en una lista de nombres en una hoja de Excel? Cambiarles el nombre una por una puede ser muy laborioso, pero con la ayuda de códigos VBA, puedes automatizar rápidamente este proceso.

Cambiar el nombre de todos los archivos de imagen en una carpeta


Cambiar el nombre de todos los archivos de imagen en una carpeta

Para cambiar el nombre de todos los archivos de imagen en una carpeta específica, sigue estos pasos:

Paso 1: Importa los nombres de archivo originales desde la carpeta a una hoja en Excel

1. Presiona las teclas "Alt + F11" para habilitar la ventana "Microsoft Visual Basic para Aplicaciones".

2. Haz clic en "Insertar" > "Módulo" y pega el siguiente código en el script.

VBA: Recuperar nombres de imágenes desde una carpeta

Sub PictureNametoExcel()
'UpdatebyExtendoffice201709027
    Dim I As Long
    Dim xRg As Range
    Dim xAddress As String
    Dim xFileName As String
    Dim xFileDlg As FileDialog
    Dim xFileDlgItem As Variant
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Select a cell to place name list:", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xRg = xRg(1)
    xRg.Value = "Picture Name"
    With xRg.Font
    .Name = "Arial"
    .FontStyle = "Bold"
    .Size = 10
    End With
    xRg.EntireColumn.AutoFit
    Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
    I = 1
    If xFileDlg.Show = -1 Then
        xFileDlgItem = xFileDlg.SelectedItems.Item(1)
        xFileName = Dir(xFileDlgItem & "\")
        Do While xFileName <> ""
            If InStr(1, xFileName, ".jpg") + InStr(1, xFileName, ".png") + InStr(1, xFileName, ".img") + InStr(1, xFileName, ".gif") + InStr(1, xFileName, ".ioc") + InStr(1, xFileName, ".bmp") > 0 Then
                xRg.Offset(I).Value = xFileDlgItem & "\" & xFileName
                I = I + 1
            End If
            xFileName = Dir
        Loop
    End If
    Application.ScreenUpdating = True
End Sub

3. Presiona la tecla "F5" para ejecutar el código, y aparecerá un cuadro de diálogo que te recordará seleccionar una celda para mostrar la lista de nombres. Ver captura de pantalla:
A screenshot of the dialog to select a cell for outputting the image name list in Excel

4. Haz clic en "Aceptar" y selecciona la carpeta específica cuyos nombres de imágenes necesitas listar en la hoja de trabajo actual. Ver captura de pantalla:
A screenshot showing the folder selection dialog for listing image names in Excel

5. Haz clic en "Aceptar". Los nombres de las imágenes se han listado en la hoja activa.

Paso 2: Cambia el nombre de los archivos de imagen basados en una nueva lista de nombres

1. Presiona las teclas "Alt + F11" para habilitar la ventana "Microsoft Visual Basic para Aplicaciones".

2. Haz clic en "Insertar" > "Módulo" y pega el siguiente código en el script.

VBA: Cambiar el nombre de los archivos de imagen en una carpeta

Sub RenameFile()
'UpdatebyExtendoffice20170927
    Dim I As Long
    Dim xLastRow As Long
    Dim xAddress As String
    Dim xRgS, xRgD As Range
    Dim xNumLeft, xNumRight As Long
    Dim xOldName, xNewName As String
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRgS = Application.InputBox("Select Original Names(Single Column):", "KuTools For Excel", xAddress, , , , , 8)
    If xRgS Is Nothing Then Exit Sub
    Set xRgD = Application.InputBox("Select New Names(Single Column):", "KuTools For Excel", , , , , , 8)
    If xRgD Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    xLastRow = xRgS.Rows.Count
    Set xRgS = xRgS(1)
    Set xRgD = xRgD(1)
    For I = 1 To xLastRow
        xOldName = xRgS.Offset(I - 1).Value
        xNumLeft = InStrRev(xOldName, "\")
        xNumRight = InStrRev(xOldName, ".")
        xNewName = xRgD.Offset(I - 1).Value
        If xNewName <> "" Then
            xNewName = Left(xOldName, xNumLeft) & xNewName & Mid(xOldName, xNumRight)
            Name xOldName As xNewName
        End If
    Next
    MsgBox "Congratulations! You have successfully renamed all the files", vbInformation, "KuTools For Excel"
    Application.ScreenUpdating = True
End Sub

3. Presiona la tecla "F5" para ejecutar el código, y aparecerá un cuadro de diálogo que te recordará seleccionar los nombres de las imágenes originales que deseas reemplazar. Ver captura de pantalla:
A screenshot of the dialog to select original picture names in Excel for renaming

4. Haz clic en "Aceptar", y selecciona los nuevos nombres con los que deseas reemplazar los nombres de las imágenes en el segundo cuadro de diálogo. Ver captura de pantalla:
A screenshot showing the dialog to select new names for replacing picture names in Excel.

5. Haz clic en "Aceptar", aparecerá un cuadro de diálogo que te informará que los nombres de las imágenes se han cambiado correctamente.
A screenshot of the success message after renaming pictures in Excel

6. Haz clic en "Aceptar", y los nombres de las imágenes en la carpeta se reemplazarán con los nuevos nombres de las celdas en la hoja.

A screenshot showing the original picture names before renaming in the folder
Arrow down
A screenshot showing the renamed picture names in the folder

Artículos relacionados:

Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado en: Ejecución inteligente | Generar código | Crear fórmulas personalizadas | Analizar datos y generar gráficos | Invocar Funciones mejoradas
Funciones populares: Buscar, resaltar o marcar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda de varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Alternar el estado de visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas para combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y más

Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...


Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!