我有两张表,sheet1 和sheet 2。
我正在查看工作表 1 的 T 列,如果工作表 2 中 T 包含 1,则粘贴完整行。
该代码运行良好,但它将sheet2 中的结果粘贴到sheet1 的同一行中。
这会导致行之间出现空白。任何人都可以建议我应该对我的代码进行哪些更改,以便我按顺序获取它们而没有任何空白行。
另外,如何将第 1 行中的标题从工作表 1 复制到工作表 2?
Sub Test()
For Each Cell In Sheets(1).Range("T:T")
If Cell.Value = "1" Then
matchRow = Cell.Row
Rows(matchRow & ":" & matchRow).Select
Selection.Copy
Sheets(2).Select
ActiveSheet.Rows(matchRow).Select
ActiveSheet.Paste
Sheets(1).Select
End If
Next
End Sub
没有必要使用Select
and Selection
复制粘贴只会减慢代码的运行时间。
Option Explicit
Sub Test()
Dim Cell As Range
Dim NextRow as Long
Application.ScreenUpdating = False
For Each Cell In Sheets(1).Range("T1:T" & Sheets(1).Cells(Sheets(1).Rows.Count, "T").End(xlUp).Row)
If Cell.Value = "1" Then
NextRow = Sheets(2).Cells(Sheets(2).Rows.Count, "T").End(xlUp).Row
Rows(Cell.Row).Copy Destination:=Sheets(2).Range("A" & NextRow + 1)
End If
Next
Application.ScreenUpdating = True
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)