Pasar archivos de una carpeta a otra con macro y además que marque con formato condicional los archivos que no se han encontrado

Mi duda la resolviste ya en otra ocasión en esta pregunta Pasar archivos de una carpeta a otra con macro

Necesito además si es posible que conforme se ejecuta la macro marque en la hoja de origen los archivos que no se han encontrado o que no se han podido copiar.

No necesito que elimine los archivos copiados de la carpeta de origen.

1 respuesta

Respuesta
1

H o l a : Según la macro, tienes los nombres en la columna A, en la columna B te va poner el estatus:

Sub copiar()
'Por.Dante Amor
    On Error Resume Next
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        inicio = "C:\fotos\" & Cells(i, "A").Value
        fin = "C:\nuevas\" & Cells(i, "A").Value
        valida = Dir(inicio)
        If valida = "" Then
           Cells(i, "B").Value = "Archivo no encontrado"
        Else
            FileCopy inicio, fin
            werr = Err.Number
            If Err.Number = 0 Or Err.Number = 13 Then
                Cells(i, "B").Value = "Copiado"
            Else
                Cells(i, "B").Value = "No se copió el archivo"
            End If
        End If
    Next
    MsgBox "Terminado"
End Sub

O si lo prefieres con colores sobre la misma columna A:

Sub copiar()
'Por.Dante Amor
    On Error Resume Next
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        inicio = "C:\fotos\" & Cells(i, "A").Value
        fin = "C:\nuevas\" & Cells(i, "A").Value
        valida = Dir(inicio)
        If valida = "" Then
           Cells(i, "A").Interior.ColorIndex = 4
        Else
            FileCopy inicio, fin
            werr = Err.Number
            If Err.Number = 0 Or Err.Number = 13 Then
                Cells(i, "A").Interior.ColorIndex = xlNone
            Else
                Cells(i, "A").Interior.ColorIndex = 5
            End If
        End If
    Next
    MsgBox "Terminado"
End Sub

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Muchas gracias ha trabajado perfectamente.

Si no te molesta necesito un par de cosas más.

Te genero las preguntas.

Al final de mi respuesta hay 2 botones para valorar la respuesta "Votar" y "Excelente", si valoras las respuesta con "Votar" significa que tienes alguna duda o que la respuesta no es correcta. Espero que cambies la valoración, de lo contrario ya no podré ayudarte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas