Excel 如何将错误检查添加到VBA文件复制宏?

Excel 如何将错误检查添加到VBA文件复制宏?,excel,vba,Excel,Vba,我正在尝试添加错误处理。基本上,这段代码查看一个包含15000个JPEG图像的源文件夹,并将其与列a进行比较,然后将列a中列出的文件名从A1向下复制到目标文件夹中,它可以工作,但我没有错误处理。如果知道哪些文件因为名称错误而不复制,那就太好了,这样我就可以修复数据中的漏洞 如果源路径中的图像文件不存在,是否有任何方法可以添加错误检查并使其将单元格变为红色 Sub test() Dim r As Range Dim sourcepath As String, destpath As String,

我正在尝试添加错误处理。基本上,这段代码查看一个包含15000个JPEG图像的源文件夹,并将其与列a进行比较,然后将列a中列出的文件名从A1向下复制到目标文件夹中,它可以工作,但我没有错误处理。如果知道哪些文件因为名称错误而不复制,那就太好了,这样我就可以修复数据中的漏洞

如果源路径中的图像文件不存在,是否有任何方法可以添加错误检查并使其将单元格变为红色

Sub test()
Dim r As Range
Dim sourcepath As String, destpath As String, fname As String
sourcepath = "C:\Users\paul\Desktop\CONVERTED TIFS\"
destpath = "c:\test2\"


For Each r In Range("A1", Range("A" & Rows.Count).End(xlUp))
    fname = Dir(sourcepath & r)
    Do While fname <> ""
        FileCopy sourcepath & fname, destpath & fname
        fname = Dir()
Loop
Next

End Sub
子测试()
调光范围
将sourcepath设置为字符串,将destpath设置为字符串,将fname设置为字符串
sourcepath=“C:\Users\paul\Desktop\CONVERTED TIFS\”
destpath=“c:\test2\”
对于范围内的每个r(“A1”、范围(“A”和行数)。结束(xlUp))
fname=Dir(源路径&r)
当fname“”时执行
FileCopy源路径和fname、destpath和fname
fname=Dir()
环
下一个
端接头

您可以执行以下操作:

Sub test()

    Dim r As Range
    Dim sourcepath As String, destpath As String, fname As String

    sourcepath = "C:\Users\paul\Desktop\CONVERTED TIFS\"
    destpath = "c:\test2\"

    For Each r In Range("A1", Range("A" & Rows.Count).End(xlUp))
        If len(r.value) > 0 then
            fname = Dir(sourcepath & r.Value)

            If Len(fname) > 0 Then
                r.Interior.Color = vbGreen
                r.offset(0, 1).Value = "Copied"
                FileCopy sourcepath & fname, destpath & fname
            Else
                r.Interior.Color = vbRed
                r.offset(0, 1).Value = "Not found"
            End If

        End If
    Next

End Sub

如果要将跟踪放在不同的列中,请调整偏移量。

每个文件名都有循环-是否希望a列中的每个单元格有多个匹配项?每个单元格应该有一个匹配项。列A中的每个单元格都有一个文件名“\image1.jpg”“\image2.jpg”等。如果“\image3.jpg”不在我的目标文件夹中,我需要找出如何使该单元格具有不同的颜色,以便修补数据中的漏洞。你就是那个人。len函数是我从来都不知道的东西。谢谢分享知识。