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使用不同的字母,因为它们非常相似。谢谢你们的输入!我怎样才能增加厄洛?