Excel 具有更多结果的VBA循环

Excel 具有更多结果的VBA循环,excel,vba,Excel,Vba,我必须比较2个文件xlsx。两者看起来一样。文件1将每天更新 现在,脚本应该比较第5列中的每个ID(单个数字),如果它也在文件2中的第5列中。如果是,文件1第4列(同一行)中的文本将在文件2中更新。如果文件2中还没有ID号,则应将完整的行复制到文件2末尾的第一个空闲行 这是我已经拥有的: On Error Resume Next Set wkb = Workbooks.Open(Filename:=my_FileName) Set wkb1 = ThisWorkbook wkb

我必须比较2个文件xlsx。两者看起来一样。文件1将每天更新

现在,脚本应该比较第5列中的每个ID(单个数字),如果它也在文件2中的第5列中。如果是,文件1第4列(同一行)中的文本将在文件2中更新。如果文件2中还没有ID号,则应将完整的行复制到文件2末尾的第一个空闲行

这是我已经拥有的:

On Error Resume Next
   Set wkb = Workbooks.Open(Filename:=my_FileName)
   Set wkb1 = ThisWorkbook
   wkb1.Activate
   Set wks = wkb.Worksheets(1)
   Set wks1 = wkb1.Worksheets(1)
   anz = wks.Cells(65536, 5).End(xlUp).Row
   anz1 = wks1.Cells(65536, 5).End(xlUp).Row
   For Z = 2 To anz1
    suchwert = wks1.Cells(Z, 5)
    With wks.Range("E2:E" & anz)
    Set c = .Find(suchwert, LookIn:=xlValues, LookAt:=xlWhole)
    If Not c Is Nothing Then
        For s = 4 To 5
            wks.Cells(c.Row, s) = wks1.Cells(Z, s)
            Next
        Else
        For s = 1 To 9
            wks.Cells(anz + 1, s) = wks1.Cells(Z, s)
            Next
    End If
    End With
   Next Z
对于1个结果,它运行良好。但是文件1上有700多个ID

有什么想法吗

非常感谢你的帮助

亲切问候,, 克里斯

也许你可以试试这个

On Error Resume Next
   Set wkb = Workbooks.Open(Filename:=my_FileName)
   Set wkb1 = ThisWorkbook
   wkb1.Activate
   Set wks = wkb.Worksheets(1)
   Set wks1 = wkb1.Worksheets(1)
   anz = wks.Cells(65536, 5).End(xlUp).Row
   anz1 = wks1.Cells(65536, 5).End(xlUp).Row
   Cpt = anz 

      For Z = 2 To anz1
       suchwert = wks1.Cells(Z, 5)
       With wks.Range("E2:E" & anz)
       Set c = .Find(suchwert, LookIn:=xlValues, LookAt:=xlWhole)
       If Not c Is Nothing Then

           For s = 4 To 5
               wks.Cells(c.Row, s) = wks1.Cells(Z, s)
               Next
           Else
           For s = 1 To 9
               Cpt = Cpt +1
               wks.Cells(Cpt, s) = wks1.Cells(Z, s)
               Next
       End If
       End With
      Next Z

我认为它对所有人都有效,但每次只要替换单元格值,如果我一次又一次地启动代码,一切都正常。但是我不知道在哪里设置循环。@ChrisPE它做了什么同样的结果。我在文件2中得到一行更新。@ChrisPE文件2是wks?是的。wkb/wks是文件2现在复制所有条目。:)可能是一件小事,但所有条目都粘贴在新行中。有没有办法:4到5不应该插入新行。如果条目已在列表中,则第4列应仅在同一行中更新。到目前为止,从1点到9点的效果都很好。只有新线从左向右向下滑动。所以它看起来像是一个楼梯。我们能不能快速解决这个问题?