Excel 在条件满足循环中,将单元格复制到另一张图纸
我需要循环一列,如果满足条件,则将单元格从一张纸复制到另一张纸 我发现增量..有问题。。 在这种情况下,结果加倍 先谢谢你。 韩元Excel 在条件满足循环中,将单元格复制到另一张图纸,excel,vba,Excel,Vba,我需要循环一列,如果满足条件,则将单元格从一张纸复制到另一张纸 我发现增量..有问题。。 在这种情况下,结果加倍 先谢谢你。 韩元 您可以使用AutoFilter获得结果,但我的答案是尝试使用For循环解析代码 修改代码 您可以使用AutoFilter获得结果,但我的答案是尝试使用For循环解析代码 修改代码 为什么不使用Autofilter筛选列C,如果Autofilter返回任何行,则将它们复制到目标工作表 看看这样的东西是否适合你 Sub CopyCells() Dim wsData As
您可以使用
AutoFilter
获得结果,但我的答案是尝试使用For
循环解析代码
修改代码
您可以使用
AutoFilter
获得结果,但我的答案是尝试使用For
循环解析代码
修改代码
为什么不使用Autofilter筛选列C,如果Autofilter返回任何行,则将它们复制到目标工作表 看看这样的东西是否适合你
Sub CopyCells()
Dim wsData As Worksheet, WsDest As Worksheet
Dim iLastRow As Long
Application.ScreenUpdating = False
Set wsData = Worksheets("Clientes")
Set WsDest = Worksheets("Ficheros")
iLastRow = wsData.Cells(Rows.Count, "C").End(xlUp).Row
wsData.AutoFilterMode = False
With wsData.Rows(12)
.AutoFilter field:=3, Criteria1:="0"
If wsData.Range("D12:D" & iLastRow).SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then
wsData.Range("D13:D" & iLastRow).SpecialCells(xlCellTypeVisible).Copy
WsDest.Range("B" & Rows.Count).End(3)(2).PasteSpecial xlPasteValues
End If
End With
wsData.AutoFilterMode = False
Application.CutCopyMode = 0
Application.ScreenUpdating = True
End Sub
为什么不使用Autofilter筛选列C,如果Autofilter返回任何行,则将它们复制到目标工作表 看看这样的东西是否适合你
Sub CopyCells()
Dim wsData As Worksheet, WsDest As Worksheet
Dim iLastRow As Long
Application.ScreenUpdating = False
Set wsData = Worksheets("Clientes")
Set WsDest = Worksheets("Ficheros")
iLastRow = wsData.Cells(Rows.Count, "C").End(xlUp).Row
wsData.AutoFilterMode = False
With wsData.Rows(12)
.AutoFilter field:=3, Criteria1:="0"
If wsData.Range("D12:D" & iLastRow).SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then
wsData.Range("D13:D" & iLastRow).SpecialCells(xlCellTypeVisible).Copy
WsDest.Range("B" & Rows.Count).End(3)(2).PasteSpecial xlPasteValues
End If
End With
wsData.AutoFilterMode = False
Application.CutCopyMode = 0
Application.ScreenUpdating = True
End Sub
您通常不需要为此循环。使用过滤器,然后复制可见单元格,是一种一步完成的方法。如果
erow
表示最后一行,我不确定您是否需要结束(xlUp)。偏移量(1)
。通常不需要循环。使用过滤器,然后复制可见单元格,是一种一步完成的方法。如果erow
表示最后一行,我不确定您是否需要结束(xlUp)。偏移量(1)
。
Sub CopyCells()
Dim wsData As Worksheet, WsDest As Worksheet
Dim iLastRow As Long
Application.ScreenUpdating = False
Set wsData = Worksheets("Clientes")
Set WsDest = Worksheets("Ficheros")
iLastRow = wsData.Cells(Rows.Count, "C").End(xlUp).Row
wsData.AutoFilterMode = False
With wsData.Rows(12)
.AutoFilter field:=3, Criteria1:="0"
If wsData.Range("D12:D" & iLastRow).SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then
wsData.Range("D13:D" & iLastRow).SpecialCells(xlCellTypeVisible).Copy
WsDest.Range("B" & Rows.Count).End(3)(2).PasteSpecial xlPasteValues
End If
End With
wsData.AutoFilterMode = False
Application.CutCopyMode = 0
Application.ScreenUpdating = True
End Sub