Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
EXCEL-VBA-在3张图纸之间复制粘贴_Vba_Excel - Fatal编程技术网

EXCEL-VBA-在3张图纸之间复制粘贴

EXCEL-VBA-在3张图纸之间复制粘贴,vba,excel,Vba,Excel,我正在尝试在三张不同的工作表之间复制/粘贴信息。 前两个我只想将信息与进行比较,如果满足条件,则从第n2页将所有行复制到第三页。我的问题是代码只找到第一个值并停止。这是密码 Sub fallidas2() Dim iLastRow As Long Dim I As Long Dim l As Long Dim erow As Long erow = Sheets("Failed_Trades").Range("A" & Rows.Count).End(

我正在尝试在三张不同的工作表之间复制/粘贴信息。 前两个我只想将信息与
进行比较,如果
满足条件,则从第n2页将所有行复制到第三页。我的问题是代码只找到第一个值并停止。这是密码

Sub fallidas2()

Dim iLastRow As Long
    Dim I As Long
    Dim l As Long
    Dim erow As Long

    erow = Sheets("Failed_Trades").Range("A" & Rows.Count).End(xlUp).Row + 1

    Workbooks("modelo titulos UK").Worksheets("xlsConsultaConciliacion").Select

    iLastRow = Worksheets("xlsConsultaConciliacion").Cells(Rows.Count, "C").End(xlUp).Row
    iLastRow2 = Worksheets("Fallidas").Cells(Rows.Count, "C").End(xlUp).Row
    For I = 3 To iLastRow
      For l = 2 To iLastRow2
        If Sheets("xlsConsultaConciliacion").Cells(I, 1) = Sheets("Fallidas").Cells(l, 2) Then
          Worksheets("Fallidas").Rows(I).EntireRow.Copy _
                    Destination:=Sheets("Failed_Trades").Range("A" & erow)

        End If
      Next l
    Next I

End Sub

您需要将erow作为If语句的一部分递增。我还在其中包含了一个Exit For语句,这样在找到第一个匹配项后,它就不会继续搜索第二个工作表。但也许你想让它找到更多的匹配项,并在第三张纸上重复填充相同的信息

    If Sheets("xlsConsultaConciliacion").Cells(i, 1) = Sheets("Fallidas").Cells(l, 2) Then
        Worksheets("Fallidas").Rows(i).EntireRow.Copy Destination:=Sheets("Failed_Trades").Range("A" & erow) 
        erow = erow + 1
        Exit For
    End If

您永远不会递增
erow
,因此会一次又一次地粘贴相同的单元格。此外,还有一些更快的方法可以做到这一点,使用Find或Match可以避免循环两次。最后,请仔细阅读缩进代码。两个For循环都使用
I
作为计数器?为什么?@FoxfireAndBurnsAndBurns-one是一个小写字母,我认为(当有一个完整的字母表可供选择时,仍然令人困惑)。@sjr-Oh!!!好眼睛!你是对的。我建议OP使用不同的字母,因为它们非常相似。谢谢你们的输入!我怎样才能增加厄洛?